乱数は Random クラスをインスタンス化して、そのメソッドを使う。
整数の乱数の他、バイトや浮動小数点数の乱数も発生可能である。
乱数の応用として、コレクションのランダム化(シャッフル)も可能である。
// 乱数
Action<Object> println = o => Console.WriteLine(o.ToString());
Action<Object> print = o => Console.Write(o.ToString());
println("<< 乱数 >>");
// 初期化
var rand = new Random();
// バイトの乱数
var bytes = new byte[10];
rand.NextBytes(bytes);
for (int i = 0; i < 10; i++)
{
print($"{bytes[i]},");
}
println("");
// Int32 の 1024 未満の乱数
var ints = new int[10];
rand.Next();
for (int i = 0; i < 10; i++)
{
print($"{rand.Next(1024)},");
}
println("");
// 整数の配列をシャフルする。
int[] a = [1, 2, 3, 4, 5];
rand.Shuffle<int>(a);
for (int i = 0; i < a.Length; i++)
{
print($"{a[i]},");
}
println("\nDone.");