「生成された乱数は常に等しい」に続いて、私は疑問に思っていました。
クラスがオプションの最小値と最大値を持つRandom
静的メソッドを公開しないのはなぜですか? Next
これはばかげた質問のように聞こえるかもしれませんが、経験からすると、10 回中 9 回、シードを明示的に指定せずに乱数を生成したいですか? 明らかな何かが欠けていますか、これには理由がありますか? それとも、私がまだ発見していないことを説明している方法が実際にありますか?
「生成された乱数は常に等しい」に続いて、私は疑問に思っていました。
クラスがオプションの最小値と最大値を持つRandom
静的メソッドを公開しないのはなぜですか? Next
これはばかげた質問のように聞こえるかもしれませんが、経験からすると、10 回中 9 回、シードを明示的に指定せずに乱数を生成したいですか? 明らかな何かが欠けていますか、これには理由がありますか? それとも、私がまだ発見していないことを説明している方法が実際にありますか?
これはばかげた質問のように聞こえるかもしれませんが、経験からすると、10 回中 9 回、シードを明示的に指定せずに乱数を生成したいですか?
ただし、そのために静的メソッドを使用するべきではありません。状態を維持するものに対してインスタンス メソッドを使用する必要があります。Random
を呼び出すたびにの新しいインスタンスを作成するとNext
、立て続けに数回呼び出すと、番号が繰り返されることになります。
「乱数のソース」を他のIMOと同様に依存関係と見なす必要があります-テスト可能にするために注入可能です。もちろん、依存性注入を使用していない場合、この議論は当てはまらないかもしれません...しかし、他の問題があります。
スレッドセーフではないため、おそらくRandom
スレッドごとに 1つのインスタンスが必要です。Random
詳細とコード サンプルについては、乱数に関する私の記事を参照してください。