web-dev-qa-db-ja.com

ランダムな整数の配列を作成する

私がしようとしているのは、ランダムな値が最小と最大の間で取得されるランダムな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);
}

しかし、まだ完全には機能していません。私は1行か何かが足りないかもしれないと思う。誰かが私を正しい方向に押し出すのを手伝ってくれますか?

27
Dante1986

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();
46
Darin Dimitrov

Random.nextの結果をループ内の配列の現在のインデックスに割り当てる必要があります

0
stephen776