C#生成无重复的随机数

大一学期末的时候做课程设计时遇到过生成无重复随机数的问题,今天自己也写出来了:

static int[] Create_Value()

{

Random ran = new Random();

//生成0-51之间的无重复随机数,作为纸牌数组的索引

int[] a = new int[52];

for (int j = 0; j < 52; j++)

{

again:

int x = ran.Next(52);

a[j] = x;

for (int m = 0; m < j; m++)

{

if (a[j] == a[m])

{

goto again;//当遇到重复数字时重新生成

}

}

a[j] = x;

}

return a;

}