C#:在OR ORDER中生成两个限制之间的RANDOM数字

时间:2012-04-22 17:00:23

标签: c# random double

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

但是,我想要按顺序生成这些数字。例如:在1和6之间:1.53412 1.654564 2.213123 5.13522。谢谢!

3 个答案:

答案 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)

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

另见: