1. 程式人生 > >Unity3D -- 獲取不重複的隨機數

Unity3D -- 獲取不重複的隨機數

我自己在程式碼中用一個函式,貼出來:

public static int[] getRandoms(int sum, int min, int max)
{
    int[] arr = new int[sum];
    int j = 0;
    //表示鍵和值對的集合。
    Hashtable hashtable = new Hashtable();
    System.Random rm = new System.Random();
    while (hashTable.Count < sum) {
        //返回一個min到max之間的隨機數
        int
nValue = rm.Next(min, max); // 是否包含特定值 if (!hashtable.ContainsValue(nValue)) { //把鍵和值新增到hashtable hashtable.Add(nValue, nValue); arr[j] = nValue; j++; } } return arr; }

歡迎討論更好的獲取不重複隨機數的方法。