2

我想在两个限制之间生成随机(双)数,比如说:lim1 和 lim2。

但是,我希望按顺序生成这些数字。例如:1 到 6 之间:1.53412 1.654564 2.213123 5.13522。谢谢!

4

3 回答 3

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();
}

不完美,但我希望这能让你朝着正确的方向前进。

于 2012-04-22T17:09:10.267 回答
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;
于 2012-04-22T17:09:17.540 回答
0

使用它来生成一组随机数怎么样:

lim1 + random.Next(lim2 - lim1)

然后简单地对它们进行排序?

也可以看看:

于 2012-04-22T17:05:40.387 回答