c#,在一个数组中,0-8九个数怎么进行随机排布,不知道是哪里错了,实现不了

int btnNums = 9;
System.Random r = new System.Random();
int[] array = new int[9];
int a, b;
b = r.Next(9);
array[0] = b;
for (int i = 1; i < btnNums; i++)
{
while (true)
{
a = r.Next(9);
for (int k = 0; k < i; k++)
{
if (a == array[k]) break;
array[i] = a;
}
if (array[i] == a) break;
}Console.WriteLine(array[i]);
}

        Console.Read();
 int[] array = Enumerable.Range(0, 9).OrderBy(x => Guid.NewGuid()).ToArray();
for (i = 0; i < 9; i++)
{
Console.Write(i + " ");
if (i % 3 == 2) Console.WriteLine();
}
 int[] array = Enumerable.Range(0, 9).OrderBy(x => Guid.NewGuid()).ToArray();
for (i = 0; i < 9; i++)
{
Console.Write(arr[i] + " ");
if (i % 3 == 2) Console.WriteLine(); //如果全部显示在一行,把这个注释掉
}