C#:按顺序在两个限制之间生成随机数
本文关键字:两个 之间 随机数 顺序 | 更新日期: 2023-09-27 18:32:04
我想在两个限制之间生成随机(双精度)数,比如说:lim1和lim2。
但是,我希望按顺序生成此数字。 例如:介于 1 和 6 之间:1.53412 1.654564 2.213123 5.13522 .谢谢!
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();
}
不完美,但我希望这能让你朝着正确的方向前进。
生成随机数并将它们放在列表中:
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;
使用它来生成一组随机数怎么样:
lim1 + random.Next(lim2 - lim1)
然后简单地对它们进行排序?
另请参阅:
- 如何在 Java 中生成特定范围内的随机整数?