int[] num = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int[] newNum = new int[num.Length];
List<int> numCopy = new List<int>();
foreach (int i in num)
{
numCopy.Add(i);
}
Random random = new Random();
for (int i = 0; i < num.Length; i++)
{
int selectedIndex = random.Next(num.Length - i);
newNum[i] = numCopy[selectedIndex];
numCopy.RemoveAt(selectedIndex);
}
運行完後newNum裏面的新數據就是隨機排序數組.
壹樓三樓的代碼有可能出現死循環,二樓得到的新的數組中的數值有可能是重復的,此乃正解。