[C#]乱数をシード値(seed)から生成するには?

C#

どうも、ちょげ(@chogetarou)です。

乱数をシード値から生成する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

乱数をシード値から生成するには、コンストラクタ「Random(Int32)」を使います。

まず、Randomクラスをインスタンス化します。

インスタンス化する際、Randomの引数にシード値を指定します。

Random rnd = new Random(seed);

ここまでで乱数をシード値から生成できます。

乱数を取得するには、上記のRandomからNext()やNextDouble()などを呼び出します。

rnd.Next() //整数の乱数
rnd.NextDouble() //小数の乱数

使用例

using System;
public class Example
{
    public static void Main()
    {
        Random rnd = new Random(Guid.NewGuid().GetHashCode());
        
        for (var i = 0; i < 5; i++)
        {
            Console.WriteLine(rnd.Next(1, 10));
        }
    }
}
/*
    出力:
    8
    7
    5
    5
    3
*/

コメント

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