C# 在C语言中,如何生成介于1和最大32位整数之间的100%随机数#

C# 在C语言中,如何生成介于1和最大32位整数之间的100%随机数#,c#,C#,我想生成一个随机数,填充C#中的int 我听说有时候随机数是不可靠的。生成一个随机数对我来说是个问题吗 有人能对此发表评论并建议一种非常可靠的方法来生成一个介于1和32位int的最大值之间的随机数吗 Random random = new Random(); for(someloop) { int randomValue = random.Next(0, int.MaxValue) + 1; } 请注意,这只是伪随机的。此示例正在创建循环外的random实例,因此它不会一直在同一当前时

我想生成一个随机数,填充C#中的int

我听说有时候随机数是不可靠的。生成一个随机数对我来说是个问题吗

有人能对此发表评论并建议一种非常可靠的方法来生成一个介于1和32位int的最大值之间的随机数吗

Random random = new Random();
for(someloop) {
    int randomValue = random.Next(0, int.MaxValue) + 1;
}

请注意,这只是伪随机的。此示例正在创建循环外的random实例,因此它不会一直在同一当前时间重新设定种子。如果您广泛使用random,您甚至可以在其周围创建一个单例包装器,并为整个应用程序使用random的一个实例(请注意线程粗糙的问题)。

如果您的需求在如此大的范围内只是一个随机数,那么它将是100%随机的(不重复)。让我知道在这种情况下你所说的可靠是什么意思?我认为这个问题应该更清楚更具体,随机数是什么?“可靠”是什么意思?“介于1和…”实际上,您需要执行
newrandom().Next(0,int.MaxValue)+1
因为
.Next
有一个唯一的上限,所以您可以得到的最大值是
int.MaxValue-1
。非常感谢。你能给我一个在循环中如何使用这个的例子吗。有没有办法获取循环中的.Next值?