Generating random, unique values C#

前端 未结 17 1398
佛祖请我去吃肉
佛祖请我去吃肉 2020-11-22 14:26

I\'ve searched for a while and been struggling to find this, I\'m trying to generate several random, unique numbers is C#. I\'m using System.Random, and I\'m us

17条回答
  •  广开言路
    2020-11-22 14:55

    This is a unity only answer:

    Check this ready-to-use method: Give in a range & count of number you want to get.

    public static int[] getUniqueRandomArray(int min, int max, int count) {
        int[] result = new int[count];
        List numbersInOrder = new List();
        for (var x = min; x < max; x++) {
            numbersInOrder.Add(x);
        }
        for (var x = 0; x < count; x++) {
            var randomIndex = UnityEngine.Random.Range(0, numbersInOrder.Count);
            result[x] = numbersInOrder[randomIndex];
            numbersInOrder.RemoveAt(randomIndex);
        }
    
        return result;
    }
    

提交回复
热议问题