一意の値の Random クラスのシード
コードには、Random クラスの静的インスタンスがあり、次のシーケンスを生成します。乱数。ただし、ループ内で同じrandomNumberが繰り返し取得されるという問題が発生します。これは、Random クラスがデフォルトで固定シードで初期化され、予測可能な値になるためです。
この問題を解決するには、Random クラスにランダムまたは一意の値をシードする必要があります。効果的なアプローチの 1 つは、Guid クラスの GetHashCode() メソッドを使用することです。
Random rand = new Random(Guid.NewGuid().GetHashCode());
Guid クラスは、Random クラスのシードとして機能するグローバル一意識別子 (GUID) を生成します。 GetHashCode() メソッドは GUID のハッシュ コードを提供し、呼び出しごとに異なるシードを確保します。
このアプローチを使用すると、Random クラスはループ内であっても真の乱数のシーケンスを生成し、重複を排除します。ランダムな数値。
以上がC# で一意の乱数を確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。