如何生成不同的数字,目前每次生成的都一样
Random rand = new Random(100000);
rand.Next();
如何生成不同的数字,目前每次生成的都一样
Random rand = new Random(100000);
rand.Next();
只需在构造函数中移除种子数即可。这个种子数本质上是生成随机数列表的一个数字。如果您指定一个固定的数字,那么您的随机数列表将始终相同。
Random rand = new Random();
rand.Next();
Random rand = new Random();
rand.Next();
这将使用默认种子,即时间。
"使用一个基于时间的默认种子值,初始化 Random 类的新实例。"
根据 MSDN:http://msdn.microsoft.com/zh-cn/library/system.random.aspx
针对您上面的评论,如何生成在一定范围内的“随机”数。
// Generate and display 5 random integers from 50 to 100.
Console.WriteLine("Five random integers between 50 and 100:");
Console.Write("{0,8:N0}", rand.Next(50, 101));
(摘自上面的MSDN链接)您现在可以生成所需的任何范围。
不确定您想要什么!
(这段文字已经是中文了,无需翻译)Random rand = new Random(Environment.TickCount);
rand.Next();
Random
构造函数已经使用了 Environment.TickCount
。没有必要显式地指定它。 - LukeHRandom rand = new Random();
rand.Next(0,1000); // minimum = 0, maximum = 999
Random rand=new Random(DateTime.Now.Millisecond);
rand.Next();
这对我总是有效。
new Random()
,因为它默认使用 Environment.TickCount
作为种子呢? - LukeHEnvironment.TickCount
。 - MusiGenesisvar r1 = new Random(); var r2 = new Random(Environment.TickCount); while (true) Console.WriteLine(r1.Next() == r2.Next());
应该连续显示“true”,除非你真的很不幸,两个构造函数在一个tick的两侧运行。 - LukeH