制作一组随机的int

Dan*_*986 27 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);
}
Run Code Online (Sandbox Code Playgroud)

但它还没有完全发挥作用.我想我可能只缺少1行或其他东西.任何人都可以帮我推动我朝着正确的方向前进吗?

Dar*_*rov 47

您永远不会在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);
}
Run Code Online (Sandbox Code Playgroud)

或者你可以使用LINQ:

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