gpt4 book ai didi

c# - 从 2 个不同的范围生成随机数

转载 作者:行者123 更新时间:2023-11-30 19:15:45 24 4
gpt4 key购买 nike

如何从两个不同的范围生成随机数?

例如:10-20 和 50-60 中的一个数字。

我知道如何从一个范围 (1-13) 生成一个随机数:

Random rnd = new Random();
int num = rnd.Next(1, 13);

最佳答案

int num = rnd.Next(1, 3)==1 ? rnd.Next(10, 21) : rnd.Next(50,61);

int num = rnd.Next(10, 32);
if (num>20) num+=29;

或者只是为了好玩(不要在大范围内使用,无论如何运行都很慢):

var ranges=new []{ Tuple.Create(10,20), Tuple.Create(50,60)};
var rnd=new Random();
var possible=ranges.Select(x=>Enumerable.Range(x.Item1,x.Item2-x.Item1+1))
.SelectMany(x=>x)
.Distinct();
var num=possible.Skip(rnd.Next(0,possible.Count())).First();

关于c# - 从 2 个不同的范围生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33681387/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com