【C#】1行で乱数生成するコード【random】
Console.WriteLine(new Random().Next());
でも連続で処理するときは乱数にならないことがあるので注意
乱数シードがミリ秒なのでミリ秒以上の処理速度だと乱数が変わりません。
neue cc - C#とランダム
以下のように連続でやっても同じ値しか出ません。*1
Console.WriteLine(new Random().Next()); Console.WriteLine(new Random().Next()); Console.WriteLine(new Random().Next()); Console.WriteLine(new Random().Next());
間にスリープ噛ませたり処理を挟めば変わります。
Console.WriteLine(new Random().Next()); Console.WriteLine(new Random().Next()); Thread.Sleep(100); Console.WriteLine(new Random().Next()); Console.WriteLine(new Random().Next()); Thread.Sleep(100); Console.WriteLine(new Random().Next()); Console.WriteLine(new Random().Next());
いちいちインスタンス生成するのもアホらしいので何度も使うなら普通にインスタンスを使えばいいでしょう。
Random random = new Random(); int i = random.Next(500);
インスタンス生成せずに呼び出せたらいいのになぁ。
*1:でもCPU?の状態によってときどき変わる