如何在c#中随机化种子
本文关键字:随机化 种子 | 更新日期: 2023-09-27 18:03:33
我需要在c#中生成随机int。我用时钟时间来设定时间。然而,由于rand . next()函数可能需要不到一毫秒的时间,因此如果必须生成一个int型列表,这就行不通了。
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);
}
输出:15555
如何在不添加丑陋睡眠的情况下以干净的方式随机化种子?
在循环之外创建您的Random
对象,并且不提供seed参数—将为您选择一个。通过将它从循环中取出,rand . next()无论如何都会给您一个随机序列。
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
对象保证每次都有不同的结果。你可以这样做:
... new Random(Guid.NewGuid().GetHashCode())