C#でランダムな整数を生成するにはどうすればいいですか?
Random`クラス]1は、乱数を作成するために使用します。(もちろん疑似乱数ですが)。)
例を示します。
Random rnd = new Random();
int month = rnd.Next(1, 13); // creates a number between 1 and 12
int dice = rnd.Next(1, 7); // creates a number between 1 and 6
int card = rnd.Next(52); // creates a number between 0 and 51
複数の乱数を作成する場合は、Random
インスタンスを保持して再利用してください。新しいインスタンスを作成するタイミングが近すぎると、ランダムジェネレータがシステムクロックからシードされるため、同じシリーズの乱数を生成してしまいます。
new Random()は、現在のタイムスタンプをシードとすることに注意してください。
もし、1つの数字だけを生成したい場合は
new Random().Next( int.MinValue, int.MaxValue )
を使用します。
詳しくは、Randomクラスをご覧ください。
しかし、時計の分解能は有限であるため、パラメータレス・コンストラクタを使用して異なるRandomオブジェクトを連続して作成すると、同一の乱数列を生成する乱数ジェネレータが作成されてしまいます。
そのため、このコードを乱数列の生成に使用しないでください。