📜  random() C# grepper - C# (1)

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

C# Grepper - Random()

随机数是编程中的常见需求,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() 的示例代码,可以获得很多有用的使用方法和技巧。