1. 網上很多方法都說用時間種子來解決,但是在極短的時間内,這種方法沒效
Random r = new Random(DateTime.Now.Millisecond);
Random Counter = new Random(unchecked((int)(DateTime.Now.Ticks >> ctr)));
Random Counter = new Random(System.Guid.NewGuid().GetHashCode());
2. 用Random結合Hashtable才完美實作我想要的效果
以下是随機生成3個小于3的各不相同正整随機數的代碼,生成的結果是0 1 2, 2 0 1等,而不會出現像 0 0 1 這樣有重複數的情況
string testStr;
void OnGUI()
{
if (GUILayout.Button("産生随機數"))
{
testStr = "";
Hashtable hashtable = new Hashtable();
System.Random rm = new System.Random();
int RmNum = 3;
for (int i = 0; hashtable.Count < RmNum; i++)
{
int nValue = rm.Next(3);
if (!hashtable.ContainsValue(nValue))
{
hashtable.Add(nValue, nValue); //Add(key,value)
testStr += nValue + " ";
}
}
}
GUILayout.Label(testStr);
}
效果很贊的表單線上制作工具推薦
作者:大表哥的筆記
出處:http://www.cnblogs.com/dabiaoge/
提示:本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。
如果覺得還有幫助的話,可以點一下右下角的【推薦】,希望能夠持續的為大家帶來好的技術文章!想跟我一起進步麼?那就【關注】我吧。
如果對文章有任何問題,都可以再評論中留言,我會盡可能的答複您,謝謝你的閱讀