有一组数据 1,2,3,4,5,6,7,8,9,10
如何随便机取出5位始终不重复的数据

解决方案 »

  1.   

    int[] rands = Enumerable.Range(1, 10).OrderBy(i => rnd.Next()).ToArray();  List<int> list=new List<int>(){1,2,3,4,5,6,7,8,9,10};
               Random rand = new Random(DateTime.Now.Millisecond);
               for (int i = 0; i < 5; i++)
               {
                   Console.WriteLine(list[rand.Next(10)]);
               }
      

  2.   


               Random random = new Random(DateTime.Now.Millisecond);           
               List<int> list = new List<int>() { 1,2,3,4,5,6,7,8,9,10 };
               for(int i = 9; i > 4; i++)
               {
                  list.RemoveAt(random.Next(i));
               }
               foreach(int num in list)
               {
                  Console.WriteLine(num);
               }
      

  3.   


    List<int> lst = new {1,3,3,4,5}
    Random rand = new Random(DateTime.Now.Millisecond);REDO:
    int k = rand.GetNext();
    int z = k % lst.count;int y = lst[z];
    lst.RemoveAt(z);MessageBox.Show(y.toString());goto REDO;不想写更复杂的代码了,用个goto 吧