OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:532
区分:プログラム  |  分類:C#  |  最終更新日:2014/06/29
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【C#】乱数を取得する
関連タグ
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 19,482
C#関連技術まとめ > 【C#】乱数を取得する

C# で乱数を取得するには、System.Random クラスの Next メソッドを使用します。

例えば次のコードでは、0 ~ 9 のランダムな値を取得することができます。

 

Random rnd = new System.Random();    // インスタンスを生成
int intResult = rnd.Next(10);        // 0~9の乱数を取得

 

上記例では Next メソッドに引数 "10" を指定しているので、0 以上 10 未満の数値がランダムで返ります。ランダム値の範囲をより的確に、開始と終了値を指定したい場合は、以下のように指定します。

 

int intResult = rnd.Next(10, 100);   // 10~99の乱数を取得

 

第一引数に範囲の最小値を、第二引数に範囲の最大値+1 をそれぞれ指定します。

Random クラスを使用する場合の注意点

Random クラスでシード値を指定せずにインスタンスを生成した場合、そのシード値には System.Environment クラスの TickCount プロパティが使用されます。 このプロパティは、PC を最後に起動してからの経過時間をミリ秒単位でかえすため、連続して複数の Random クラスのインスタンスを作成した場合に、同じシード値からインスタンスが生成されてしまう可能性があります。 同じシード値から生成されたインスタンスは全く同じ結果を返しますので、乱数としては好ましくありません。 ループ処理などで、連続してインスタンスを生成する場合は、シード値を変えて指定することが推奨されます。

関連記事
関連記事はありません。
外部リンク
外部リンクはありません。
- 記事検索 -