📅  最后修改于: 2023-12-03 14:46:55.144000             🧑  作者: Mango
随机数是编程中的常见需求,C# 内置了一个 System.Random()
类,可用于生成伪随机数。在 C# Grepper 上搜索可获得大量关于 Random()
的使用方法和示例代码。
要生成随机整数,可以使用 Random()
类的 Next()
方法,该方法接受两个整数作为范围的上下限,并返回一个指定范围内的随机整数。下面是一个简单的示例:
Random random = new Random();
int randomNumber = random.Next(1, 101); // 生成 1 到 100 之间的随机整数
要生成随机浮点数,可以使用 NextDouble()
方法,该方法返回一个位于 0 和 1 之间的随机双精度浮点数。下面是一个示例:
Random random = new Random();
double randomDouble = random.NextDouble(); // 生成 0 到 1 之间的随机双精度浮点数
Random()
类的构造函数接受一个整数作为 “种子”,该种子用于初始化随机数序列生成器。相同的种子生成的序列将始终相同,因此可以使用种子来实现重复性随机数序列。下面是一个示例:
Random random1 = new Random(42);
Random random2 = new Random(42);
int randomNumber1 = random1.Next(); // 0 到 int.MaxValue 之间的随机整数
int randomNumber2 = random2.Next(); // 与 randomNumber1 相同
由于 Random()
类生成的随机数是伪随机数,因此在测试和调试过程中可能需要比较生成的随机数序列。可以使用 SequenceEqual()
方法比较两个整数序列是否相等。下面是一个示例:
Random random1 = new Random(42);
Random random2 = new Random(42);
int[] randomSequence1 = Enumerable.Range(1, 100).Select(x => random1.Next()).ToArray();
int[] randomSequence2 = Enumerable.Range(1, 100).Select(x => random2.Next()).ToArray();
bool sequencesAreEqual = randomSequence1.SequenceEqual(randomSequence2); // true
Random()
类是 C# 中生成伪随机数的一个强大工具,可以满足各种随机数需求。在 C# Grepper 上搜索关于 Random()
的示例代码,可以获得很多有用的使用方法和技巧。