どうも、ちょげ(@chogetarou)です。
乱数をシード値に時間を設定する方法を紹介します。
方法

乱数をシード値に時間を設定するには、コンストラクタ「Random(Int32)」を使います。
まず、Randomクラスをインスタンス化します。
インスタンス化する際、Randomの引数に時間をint型に変換した値を指定します。
//time=時間をint型に変換した値
Random rnd = new Random(time);
インスタンス化する際、引数に時間をint型に変換した値を指定することで、乱数のシード値に時間を設定できます。
乱数を取得するには、上記のRandomのインスタンスからNext()やNextDouble()などを呼び出します。
rnd.Next() //整数の乱数
rnd.NextDouble() //小数の乱数
使用例
using System;
public class Example
{
public static void Main()
{
Random rnd = new Random(new DateTime().Millisecond);
for (var i = 0; i < 5; i++)
{
Console.WriteLine(rnd.Next(1, 10));
}
}
}
/*
出力:
8
7
5
5
3
*/
コメント