根据MSDN docs方法Random.Next()
返回非负随机数。为什么它返回int
而不是uint
?< / p>
似乎返回一个均匀分布在所用类型范围内的值将是最有意义的。从使用角度来看 - 如果您使用的是int
,则应涵盖int
的范围,如果您使用的是uint
,则还应在该类型上返回均匀分布。这不是使用类型的重点吗?
答案 0 :(得分:16)
uint不符合CLS。
以下是关于该主题的一些很好的阅读:
http://msdn.microsoft.com/en-us/library/vstudio/bhc3fa7f(v=vs.100).aspx
答案 1 :(得分:0)
不能说为什么MSFT这样做。
但是如果你想要随机的UInt32,这很容易。
Random ran = new Random();
Debug.WriteLine(Int32.MaxValue.ToString());
Debug.WriteLine(((UInt32)ran.Next(Int32.MinValue, Int32.MaxValue)).ToString());