如何在C#中生成随机整数?


当前回答

虽然这还可以:

Random random = new Random();
int randomNumber = random.Next()

大多数情况下,您需要控制限制(最小和最大数量)。因此,您需要指定随机数的开始和结束位置。

Next()方法接受两个参数,min和max。

所以,如果我希望我的随机数介于5和15之间,我就这么做

int randomNumber = random.Next(5, 16)

其他回答

为什么不使用int randomNumber=Random.Range(start_Range,end_Range)?

抱歉,OP确实需要一个随机整型值,但为了分享知识,如果您想要一个随机BigInteger值,可以使用以下语句:

BigInteger randomVal = BigInteger.Abs(BigInteger.Parse(Guid.NewGuid().ToString().Replace("-",""), NumberStyles.AllowHexSpecifier));

根据定义,由计算机通过确定性过程计算的数字不能是随机的。

如果你想要一个真正的随机数,随机性来自大气噪声或放射性衰变。

例如,您可以尝试RANDOM.ORG(它会降低性能)

有许多实用程序函数或服务以与System.Random相同的方式更好地缓存,因此它适合于通用实现:

static public class CachedService<T> where T : new() {
    static public T Get { get; } = new T();
}

用于随机(或类似):

CachedService<System.Random>.Get.Next(999);
 int n = new Random().Next();

您还可以为Next()函数指定最小值和最大值。喜欢:

 int n = new Random().Next(5, 10);