C#生成隨機數

int[] RandomNum = getRandomNum(1, 1,10);  //

說明:

1、返回的數據是一個整型數組

2、簡言之就是按區間生成隨機數



//生成多少個數,生成最小數,生成最大數

public int[] getRandomNum(int num, int minValue, int maxValue)

        {
            Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
            int[] arrNum = new int[num];
            int tmp = 0;
            for (int i = 0; i <= num - 1; i++)
            {


                tmp = ra.Next(minValue, maxValue); //隨機取數
                arrNum[i] = getNum(ref arrNum, ref tmp, minValue, maxValue, ra); //取出值賦到數組中
            }
            return arrNum;
        }
        public int getNum(ref int[] arrNum, ref int tmp, int minValue, int maxValue, Random ra)
        {


            int n = 0;
            while (n < arrNum.Length)
            {
                if (arrNum[n] == tmp) //利用循環判斷是否有重複
                {
                    tmp = ra.Next(minValue, maxValue); //重新隨機獲取。
                    getNum(ref arrNum, ref tmp, minValue, maxValue, ra);//遞歸:如果取出來的數字和已取得的數字有重複就重新隨機獲取。
                }
                n++;
            }
            return tmp;
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章