#region 3、随机排序一维数组 int[] #region 方法1 int[] oldnum = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int[] newnum = new int[oldnum.Length]; Random ran = new Random(); List<int> intlist = new List<int>(); for (int i = 0; i < oldnum.Length; i++) { int random = ran.Next(oldnum.Length - 1); while (intlist.Contains(random)) { random = ran.Next(oldnum.Length); } intlist.Add(random); } for (int j = 0; j < intlist.Count; j++) { int a = intlist[j]; newnum[j] = oldnum[a]; } for (int k = 0; k < newnum.Length; k++) { Console.WriteLine(newnum[k].ToString() + ";"); } #endregion #region 方法2 以前写的,小纪念下 //3、随机排序一维数组 int[] 。 int[] intArr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; int[] intArr2 = new int[10]; Console.WriteLine("排序前"); for (int i = 0; i < intArr.Length; i++) { Console.Write(intArr[i] + ";"); } List<int> newlist = new List<int>(); for (int i = 0; i < intArr.Length; i++) { Random rans = new Random(); int random = rans.Next(0, 10); if (newlist.Count == 10) { break; } if (!newlist.Contains(random)) { newlist.Add(random); } else { i--; } } Console.WriteLine(); Console.WriteLine("排序后"); for (int j = 0; j < intArr.Length; j++) { intArr2[j] = intArr[newlist[j]]; //Console.Write(intArr[newlist[j]] + ";"); } intArr = intArr2; for (int k = 0; k < intArr.Length; k++) { Console.Write(intArr[k] + ";"); } #endregion #endregion