How to randomize seed in C#
本问题已经有最佳答案,请猛点这里访问。
我需要在C中生成随机int。我用时钟时间来设置seend。但是,由于rnd.next()函数可能需要不到一毫秒的时间,因此如果必须生成一个整数列表,则此操作不起作用。
1 2 3 4 5 6 | for( int i=0; i<5; i++) { int max_val = 10; // max value var rnd = new Random(DateTime.Now.Millisecond); int randind = rnd.Next(0, max_val); Console.WriteLine(randind); } |
输出:一五五五五
如何在不增加难看睡眠的情况下以干净的方式随机化种子?
在循环外部创建您的
1 2 3 4 5 6 | var rnd = new Random(); for( int i=0; i<5; i++) { int max_val = 10; // max value int randind = rnd.Next(0, max_val); Console.WriteLine(randind); } |
guid对象每次保证不同的结果。你可以这样做:
…新随机(guid.new guid().gethashcode())