Getting random numbers from a list of integers

前端 未结 7 1037
慢半拍i
慢半拍i 2021-02-08 10:59

If I have a list of integers:

List myValues = new List(new int[] { 1, 2, 3, 4, 5, 6 } );

How would I get 3 random integer

7条回答
  •  忘了有多久
    2021-02-08 11:20

    Use the below code to get the number:

    int k = 3; // items to select
    var items = new List(new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 });
    var selected = new List();
    var neededItem = k;
    var availableItem = items.Count;
    var rand = new Random();
    while (selected.Count < k) {
       if( rand.NextDouble() < neededItem / availableItem ) {
          selected.Add(items[availableItem-1])
          neededItem--;
       }
       availableItem--;
    }
    

提交回复
热议问题