我想在两个限制之间生成随机(双)数字,比方说:lim1和lim2。
但是,我想要按顺序生成这些数字。例如:在1和6之间:1.53412 1.654564 2.213123 5.13522。谢谢!
答案 0 :(得分:4)
public static double[] GenerateRandomOrderedNumbers(double lowerBoundInclusive, double upperBoundExclusive, int count, Random random = null)
{
random = random ?? new Random();
return Enumerable.Range(0, count)
.Select(i => random.NextDouble() * (upperBoundExclusive - lowerBoundInclusive) + lowerBoundInclusive)
.OrderBy(d => d)
.ToArray();
}
不完美,但我希望这会让你朝着正确的方向前进。
答案 1 :(得分:1)
生成随机数并将它们放在列表中:
var numbers = new List<int>();
Random random = new Random();
添加您的号码:
var number = random.Next(min, max);
numbers.Add(number);
然后对列表进行排序:
var orderList = from n
in numbers
orderby n
select n;
答案 2 :(得分:0)
如何使用它来生成一组随机数:
lim1 + random.Next(lim2 - lim1)
然后简单地对它们进行排序?