我想创建具有不同随机数的多维数组

时间:2017-11-17 22:03:26

标签: c# arrays algorithm random

我想创建多维数组with Random r = new Random();

每个元素都应该随机生成,它们都必须是不同的元素。它们都不应该相同。我也不能使用任何功能。

这是数组但有相同的元素。 我希望所有元素都不同。

   for (int i=0; i<3; i++)
        {
            for(int j=0; j<4; j++)
            {
                arr[i, j] = rand.Next(1,25);
            }
        }

1 个答案:

答案 0 :(得分:1)

在懒惰版本中,可以将1D混洗数组复制到2D数组:

Random rand = new Random();
int[] shuffled = Enumerable.Range(1, 25).OrderBy(rand.Next).ToArray();

int[,] arr = new int[3, 4];
Buffer.BlockCopy(shuffled, 0, arr, 0, arr.Length * sizeof(int));