📜  生成随机数 c# Code Example(1)

📅  最后修改于: 2023-12-03 14:56:17.187000             🧑  作者: Mango

生成随机数 C# Code Example

在编程中,经常需要生成随机数。在 C# 中,可以使用以下几种方法来生成随机数。

使用 System.Random 类

System.Random 类是 C# 中生成随机数的一个常用类。可以通过在构造函数中指定种子来创建一个随机数生成器。种子值可以是任何整数。

Random rand = new Random();
int randomNumber = rand.Next(1, 100); // 生成一个介于 1 和 100 之间的随机整数

可以使用 Next() 函数来生成随机整数。Next() 函数的参数可以指定生成随机数的范围。

使用 System.Security.Cryptography.RNGCryptoServiceProvider 类

System.Security.Cryptography.RNGCryptoServiceProvider 类也是 C# 中生成随机数的一个类。与 System.Random 类不同的是,这个类使用的是一种强加密的随机数生成器,可以生成更为安全的随机数。

using System.Security.Cryptography;

byte[] randomBytes = new byte[4];
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
rng.GetBytes(randomBytes);
int randomNumber = BitConverter.ToInt32(randomBytes, 0) % 100 + 1; // 生成一个介于 1 和 100 之间的随机整数

可以使用 GetBytes() 函数来生成随机字节数组,然后使用 BitConverter 类将字节数组转换成整数。

使用 Guid 类

另一种生成随机数的方法是使用 Guid 类,它可以生成唯一标识符。Guid 类的 NewGuid() 函数可以在全局唯一的范围内生成一个新的 Guid 对象。

Guid guid = Guid.NewGuid();
int randomNumber = guid.GetHashCode() % 100 + 1; // 生成一个介于 1 和 100 之间的随机整数

可以使用 GetHashCode() 函数将 Guid 对象转换成整数。

以上三种方法都可以用来生成随机数,但是使用场景不同,需要根据需要选择不同的方法。