制作一组随机的int

时间:2012-01-15 14:01:14

标签: c# arrays random int

我尝试的是生成随机int值的数组,其中随机值在min和max之间取得。

到目前为止,我想出了这段代码:

int Min = 0;
int Max = 20;

int[] test2 = new int[5];
Random randNum = new Random();
foreach (int value in test2)
{
    randNum.Next(Min, Max);
}

但尚未充分发挥作用。 我想我可能只缺少1行或其他东西。 任何人都可以帮助我推动我朝着正确的方向前进吗?

2 个答案:

答案 0 :(得分:43)

您永远不会在test2数组中分配值。你已经声明了它,但是所有的值都是0.这里是你如何在指定的时间间隔内为数组的每个元素分配一个随机整数:

int Min = 0;
int Max = 20;

// this declares an integer array with 5 elements
// and initializes all of them to their default value
// which is zero
int[] test2 = new int[5]; 

Random randNum = new Random();
for (int i = 0; i < test2.Length; i++)
{
    test2[i] = randNum.Next(Min, Max);
}

或者你可以使用LINQ:

int Min = 0;
int Max = 20;
Random randNum = new Random();
int[] test2 = Enumerable
    .Repeat(0, 5)
    .Select(i => randNum.Next(Min, Max))
    .ToArray();

答案 1 :(得分:0)

您需要将random.next结果分配给循环

中数组的currrent索引