2017-12-16 45 views
-1

C#ではない繰り返しINTを作る方法ランダム私はC#でいくつかのランダムなのIntを作った

Random rnd = new Random(); 
       int guess = rnd.Next(0, 11); 
       int guess1 = rnd.Next(0, 11); 
       int guess2 = rnd.Next(0, 11); 
       int guess3 = rnd.Next(0, 11); 

が、私は番号を繰り返さないを持つようにしたい場合、私は私が何をすべきかわからないのですか?!?! (推測数字ゲームの場合)

+0

何を探してるんですか[暗号擬似乱数を生成]の可能な複製(https://stackoverflow.com/a/1668371/7177029) –

+2

は、実際のカードのデッキをシャッフルに似たものです。あなたの場合、デッキには11枚の「カード」、「0-10」が含まれています。数字「0〜10」の配列を作成します。それからランダムにシャッフルして(Fisher-Yatesなどで)配列内に11個の推測があり、何も繰り返されません。 –

答えて

-3

あなたはそれを繰り返すことはできません。

ただし、繰り返し値をスキップ/無視することはできます。

HashSet<int> hs = new HashSet<int>(); 
while(hs.Count < 5) 
    hs.Add(rnd.Next(11)); 
+0

Downvotes何が問題なのですか?これは機能します。 – Paparazzi

+0

私はあなたを落としていませんが、なぜ誰かがそれを理解しています。一般的な合意は、[重複する質問に答えることは勧められていません](https://meta.stackexchange.com/questions/10841/how-should-duplicate-questions-be-handled)です。 – sjaustirni

+0

@sjaustirniタイムスタンプを確認してください。私が答えたときは重複していなかった。 – Paparazzi

関連する問題