找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
請尊重及感激所有版主付出和奉獻感激所有對伊莉作出奉獻的人認識好友、聊天,分享生活趣事
mg三上一拳超人流出強姦柯南adobe
ボクが当一人之上愛情守護houshou 淫語女子irisdisgaea

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

✡ 斗破蒼穹 年番/鬥

[簡] 為美好的世界獻

[繁]狼與辛香料 MERCH

(4月新番)[繁]怪獸8號

[繁]老夫老妻重返青春

[繁]怪物轉生 Re:Mons
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 4349|回復: 4

[問題] 一維陣列 亂數 不重複[複製鏈接]

Rank: 1

帖子
269
積分
188 點
潛水值
22370 米
發表於 2016-11-23 07:52 PM|顯示全部樓層
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
本帖最後由 arthurliuliu 於 2016-12-8 02:19 PM 編輯

不好意思  請問 一維陣列  我把 b[] 陣列裡面 是用 隨機的號碼 那可是 如果要讓 亂數不會出現重複的話該在哪邊加一些什麼
  1. Random a = new Random ();

  2.             int[] b = new  int [5] ;


  3.             for (int i = 0; i < b.Length; i++)
  4.             {
  5.                 b = a.Next(1,50);
  6.          Console.Write("{0}\n", b);
  7.              }


  8.               Console.ReadKey();
複製代碼

...
瀏覽完整內容,請先 註冊登入會員

點評

a8066892 HashSet<int>,具體自己看MSDN  發表於 2016-11-23 08:39 PM
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

Rank: 2Rank: 2

帖子
434
積分
325 點
潛水值
16002 米
發表於 2016-11-23 11:33 PM|顯示全部樓層
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。
  1. Random notRepeat = new Random(Guid.NewGuid().GetHashCode());
複製代碼
簡易說明:
若Random不帶參數,Random會依系統時間來製作亂數,若在短時間內製作亂數,就有可能產生重複,所以採用重複機率極低的Guid,可有效降低Random產生出重複數字
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 1

帖子
61
積分
49 點
潛水值
26760 米
發表於 2016-11-24 09:10 AM|顯示全部樓層
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。
若限定用陣列
  1. Random a = new Random();
  2. int[] b = new int[5];
  3. for (int i = 0; i < b.Length; i++)
  4. {
  5.                 int temp = a.Next(1, 50);
  6.                 if (!b.Contains(temp))
  7.                 {
  8.                     b[i] = temp;
  9.                     Console.Write("{0}\n", b[i]);
  10.                 }
  11.                 else
  12.                     i--;
  13. }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

Rank: 1

帖子
76
積分
193 點
潛水值
4402 米
發表於 2016-11-26 03:27 PM|顯示全部樓層
提供一些不同寫法

LINQ
  1. using System;
  2. using System.Linq;

  3. namespace ConsoleApplication1
  4. {
  5.     internal class Program
  6.     {
  7.         private static void Main(string[] args)
  8.         {
  9.             var numberRange = Enumerable.Range(1, 50);
  10.             var result = numberRange.OrderBy(a => Guid.NewGuid().GetHashCode()).Distinct().Take(5);
  11.             Console.WriteLine(string.Join(" ", result));
  12.             Console.ReadKey();
  13.         }
  14.     }
  15. }
複製代碼


一般
  1. using System;
  2. using System.Linq;

  3. namespace ConsoleApplication2
  4. {
  5.     internal class Program
  6.     {
  7.         private static void Main(string[] args)
  8.         {
  9.             var result = new int[5];
  10.             var random = new Random(Guid.NewGuid().GetHashCode());
  11.             var randomNumber = 0;
  12.             for (int i = 0; i < result.Length; i++)
  13.             {
  14.                 do
  15.                 {
  16.                     randomNumber = random.Next(1, 50);
  17.                 } while (result.Contains(randomNumber));
  18.                 result[i] = randomNumber;
  19.             }
  20.             Console.WriteLine(string.Join(" ", result));
  21.             Console.ReadKey();
  22.         }
  23.     }
  24. }
複製代碼


...
瀏覽完整內容,請先 註冊登入會員
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

Rank: 1

帖子
252
積分
187 點
潛水值
24460 米
發表於 2016-12-7 06:36 AM|顯示全部樓層
本帖最後由 arthurliuliu 於 2016-12-8 02:19 PM 編輯

如果可以用LINQ
  1. int[] s = { 1, 2, 3, 3, 4};
  2. int[] q = s.Distinct().ToArray();
複製代碼





如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部