我要做的是,生成一个随机的int值数组,随机数组的取值范围在最小值和最大值之间。
到目前为止,我想出了以下代码:
int Min = 0;
int Max = 20;
int[] test2 = new int[5];
Random randNum = new Random();
foreach (int value in test2)
{
randNum.Next(Min, Max);
}但它还没有完全发挥作用。我想我可能只漏掉了一行或者别的什么。有没有人能帮我把我推向正确的方向?
发布于 2012-01-15 22:03:02
您永远不会在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();发布于 2012-01-15 22:04:23
您需要将random.next结果赋值给循环中数组的当前索引
https://stackoverflow.com/questions/8870193
复制相似问题