📜  C# 中的随机数(1)

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

C# 中的随机数

C# 是一种面向对象的编程语言,它提供了许多用于生成随机数的方法。在本文中,我们将讨论如何在 C# 中生成随机数。

Random 类

Random 类是 .NET Framework 中用于生成随机数的基本类。可以通过以下代码创建 Random 类的实例:

Random rand = new Random();

该代码通过使用默认构造函数创建了一个 Random 类的实例。如果需要,可以在构造函数中传递一个种子值。

生成整数随机数

生成一个介于 0 到 99 之间的整数随机数的代码如下:

int randomNumber = rand.Next(0, 100);

这里调用了 Random 类的 Next 方法,该方法返回一个指定范围内的随机整数。Next 方法的第一个参数是指定范围的起始值,第二个参数是指定范围的结束值(不包括在范围内)。

生成浮点数随机数

生成一个介于 0 到 1 之间的浮点数随机数的代码如下:

double randomDouble = rand.NextDouble();

这里调用了 Random 类的 NextDouble 方法,该方法返回一个介于 0 到 1 之间的双精度浮点数随机数。

生成随机字符

生成一个介于 A 到 Z 之间的随机字符的代码如下:

char randomChar = (char)rand.Next('A', 'Z' + 1);

与生成整数随机数类似,这里使用了 Random 类的 Next 方法来生成介于 A 到 Z 之间的 ASCII 码值随机数,然后通过强制类型转换(casting)将其转换为字符类型。

生成随机字符串

将以上的随机字符生成代码组合在一起,则可生成随机字符串的代码如下:

string randomString = new string(
    Enumerable.Repeat("ABCDEFGHIJKLMNOPQRSTUVWXYZ", 10)
              .Select(s => s[rand.Next(s.Length)])
              .ToArray());

这里使用了 LINQ 的 Select 方法,按照指定长度(这里是 10)重复了一组字符,并以此为源数据集合,然后通过 Random 类生成每个字符的随机位置,并以此从源数据集合中选择字符构成最终的随机字符串。

总结

本文介绍了如何在 C# 中使用 Random 类生成随机数,包括整数随机数、浮点数随机数、随机字符和随机字符串。在实际开发过程中,随机数的应用场景不限于此,程序员可以灵活运用 Random 类的方法来满足不同的需求。