📜  获取随机数 c# (1)

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

获取随机数 c#

在开发过程中,随机数的生成是一个常见的需求。在C#中可以使用Random类轻松地实现随机数的生成。

Random类

Random类用于生成伪随机数序列。使用Random类可以轻松地生成随机数。

创建Random实例

要创建一个Random实例,可以使用下面的代码:

Random random = new Random();

需要注意的是,如果不传递种子值,则使用系统时钟作为种子。如果在极短的时间内创建多个Random实例,它们的种子值可能会相同,导致生成的随机数序列也相同。

生成随机数

生成随机数的方法是Next()或者Next(int maxValue)。

使用Next()方法可以生成一个32位带符号整数的随机数:

int randomInt = random.Next();

使用Next(int maxValue)方法可以生成一个小于maxValue的随机整数:

int randomInt = random.Next(100); //生成小于100的随机整数

如果需要生成一个指定范围的随机整数,则可以使用下面的代码:

int randomInt = random.Next(minValue, maxValue); //生成大于等于minValue且小于maxValue的随机整数

使用NextDouble()方法可以生成一个大于等于0.0且小于1.0的随机浮点数:

double randomDouble = random.NextDouble();
设置随机数种子

如果需要设置随机数种子,可以使用Random类的另外一个构造函数:

Random random = new Random(seed);

其中seed为种子值。使用相同的种子值创建的Random实例生成的随机数序列是相同的。

完整代码示例
using System;

class Program
{
    static void Main(string[] args)
    {
        Random random = new Random();
        int randomInt = random.Next(); //生成32位带符号整数的随机数
        Console.WriteLine(randomInt);

        randomInt = random.Next(100); //生成小于100的随机整数
        Console.WriteLine(randomInt);

        randomInt = random.Next(10, 20); //生成大于等于10且小于20的随机整数
        Console.WriteLine(randomInt);

        double randomDouble = random.NextDouble(); //生成0.0到1.0之间的随机浮点数
        Console.WriteLine(randomDouble);
    }
}
总结

随机数的生成在程序开发中是一个非常常见的需求。通过Random类可以轻松地实现随机数的生成,同时也可以控制随机数的范围和种子值,满足各种需求。