C#で乱数(ランダム値)を取得する方法!(Random.Next)

C# C#

C#で乱数を取得する方法について書いています。
乱数を取得するにはRandomクラスのインスタンスを作って、Nextメソッドを呼び出すと良いです。

Randomクラスの公式ドキュメントはこちらにあるので確認してみてください。

乱数を取得する

RandomクラスからNextメソッドを呼び出すことで、乱数を取得することができます。
例えば、下記のように使うことができます。

Random random = new Random();
int randomNumber = random.Next();

Console.WriteLine(randomNumber); // 264908817

最初にRandomクラスをインスタンス化して、random変数を作りました。
次の処理でrandom変数からNextメソッドを呼び出して乱数を取得しています。

取得した乱数はrandomNumber変数に入れて出力しました。
プログラムを実行して出力すると、今回は「264908817」が出力されました。
乱数なので実行するたびに結果は変わります。

取得できる最大値は?

Random.Nextで取得できるのは、「0」からInt32.MaxValueで出力される数値までになります。
Int32.MaxValueは筆者の環境で確認すると、下記の数値が出力されました。

Console.WriteLine(Int32.MaxValue); // 2147483647

「2,147,483,647」が出力されました。
「0」から「約21億」までの範囲の値になります。

指定した最大値までの乱数を取得する

Nextメソッドに最大値を渡すことで、「0」から最大値未満までの値が取得できます。
例えば、下記のように使えます。

Random random = new Random();
int randomNumber = random.Next(15);

Console.WriteLine(randomNumber);

先ほどと同様にRandomクラスをインスタンス化して、random変数を作りました。
次の処理で、Nextメソッドを呼び出していますが、最大値を引数として渡しています。

今回は「15」を渡しているので、「0」から「14」(最大値 – 1)までの値が取得できます。
プログラムを実行すると「11」が取得できました。
こちらも実行するたびに結果は変わります。

引数で渡した「最大値未満になる」という挙動に気をつけましょう。

指定した最小値から最大値までの乱数を取得する

Nextメソッドに最小値から最大値を渡すことで、最小値から最大値未満までの値が取得できます。
例えば、下記のように使えます。

Random random = new Random();
int randomNumber = random.Next(3, 10);

Console.WriteLine(randomNumber);

先ほどと同様にrandom変数からNextメソッドを呼び出していますが、今回は最小値と最大値を引数として渡しています。

第1引数が最小値で、第2引数が最大値になります。
今回は最小値は「3」を渡して、最大値は「10」を渡しています。
そのため、「3」から「9」までの値がランダムで取得できます。

プログラムを実行すると「5」が取得できました。
実行するたびに結果は変わります。

こちらも「最大値未満になる」という挙動に気をつけましょう。

乱数(ランダム値)を取得する方法まとめ

今回はC#で乱数(ランダム値)を取得する方法について書きました。
記事の内容をまとめると、下記のようになります。

・RandomクラスのNextメソッドを使うと、乱数(ランダム値)が取得できる。
・Nextメソッドに引数を渡さないときには、「0」からInt32.MaxValueまでの値が取得できる。
・Nextメソッドに最大値を渡したときには、「0」から最大値未満までの値が取得できる。
・Nextメソッドに最小値と最大値を渡したときには、最小値から最大値未満までの値が取得できる。

コメント

タイトルとURLをコピーしました