程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#生成隨機不重復的數字實例講解

C#生成隨機不重復的數字實例講解

編輯:C#入門知識

今天由於需要一個c#生成不重復的隨機數的解決方案。
以下是思想:
首先建立一個列表ArrayList list,將其長度設為20,給其賦值,從1到20。
再隨機生成一個數,Random r=new Random()。每生成一個隨機數,就移走一個list中的元素
這樣一來,就不會出現重復了。 這裡我把ArrayList改成了List,以下是我的代碼:
public List<int> GenerateNumber()
{
        Random  random = new Random();
        List<int> number = new List<int>(10);
        List<int> result = new List<int>(4);
        for (int i = 0; i < 10; i )
        {
                number.Add(i);
        }
        for (int i = 0; i < 4; i )
        {
                    int tempNum = random.Next(0, number.Count);
                result.Add(number[tempNum]);
                number.RemoveAt(tempNum);
        }
        return result;
}
這個做法的核心思想就是 :每生成一個隨機數,就移走一個list中的元素

public static void Main(string[] args)
{
        GuessGame guessGame = new GuessGame();
        for (int i = 0; i < guessGame.GenerateNumber().Count; i )
        {
                Console.WriteLine(guessGame.GenerateNumber()[i]);
        }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved