關於c# asp.net中隨機函數重複的解決方案

來源:互聯網
上載者:User

前幾天在做一個交友網站(www.niyuewo.com)時,遇到了會員編號重複的問題,經過在網上尋找資料,發現是系統時間戳的問題,於是就整理了下來,希望對大家有所協助

C#中隨機函數是調用了System.Random中的Next方法來產生隨機數的,先定義一個隨機種子,如:
int r;在這裡一般要賦一個初值,再通過Random r=new Random(r);r.Next(int macValue)--註:Next方法中括弧內可指定隨機數的範圍,它的用法為:r.Next(1,100)--即在1~100中產生一個隨機的正整數。
  實際上,上述方法如果再Windows表單應用程式中的按鈕的Click事件中使用時會有一個BUG,那就是再第一次觸發Button的Click事件是能產生隨機數,不過當第二次單擊時,卻產生的是與上次同樣的數,如何能解決這個bug呢?我們就要用到一個系統函數DataTime.Now.Millisecond,由於這時系統當前的時間,是不會重複的,這時我們可以這樣來聲明:
int ra;
Random rd=new Random(DateTime.Now.Millisecond);
ra=rd.Next(1,100);
這樣就成功地解決了這個問題!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.