2010-11-30 1 views

答えて

4

多少の誤解を招くような慣習に過ぎません。いずれにしても、そのようなシナリオを構築することができます(毎回の出力が同じです)。これは、例えば、配列のランダムな要素を選択するために有用です:

var random = new Random(); 
var element = someArray[random.Next(0, someArray.Length)]; // Of course, the lower bound needn't be specified here. 

編集:あなたの質問を誤解しました!私の推測では、それはa)貧弱なデザインか、b)あなたの2つの境界が潜在的に同じである場合の利便性です。私はそれが直感的ではないことに同意するだろう。

+0

を見てひどく驚いていませんはい、私はそれで問題ありません。常に同じ数字を生成する...それはちょうど私が(3)を試したときに3が包括的であることを期待した。それは最大 mpen

5

私にはちょっとしたデザインが似ています。私はmaxValueminValueより厳密に大きいことに同意します。等しい場合はArgumentOutOfRangeExceptionを投げるべきです。

Randomにはいくつかの側面があります.1つは、暗号化された安全なソースを使用してサブクラスを作成できるように、適切にプラグイン可能(適切に文書化されている方法)にすることは本当にうれしいでしょう。それは今可能ですが、あなたは、基本的な実装についてはあまり知っている必要があり、そしてその方法はどの他のものを呼び出す:(

新しいRandomインスタンスにあなたがループラウンドに行くたびに作成周囲に落とし穴、と明らかにスレッドセーフであることは、他の厄介されていない(静的変数)を「修正」。

基本的に、私は別の小さなイボ:(

関連する問題