C#如何生成不重复的随机数
时间: 2024-09-12 17:16:55 浏览: 117
在C#中,如果你想要生成不重复的随机数,可以使用`System.Random`类结合一个集合,比如`HashSet`或`List<T>`。这里是一个基本的示例:
```csharp
using System;
using System.Collections.Generic;
class Program
{
private static Random random = new Random();
public static void Main()
{
int[] numbers = GenerateRandomNumbers(10); // 生成10个不重复的随机数
foreach (int number in numbers)
{
Console.WriteLine(number);
}
}
public static List<int> GenerateRandomNumbers(int count)
{
List<int> uniqueNumbers = new List<int>();
while (uniqueNumbers.Count < count)
{
int generatedNumber = random.Next(1, 100); // 生成1到99之间的随机数
if (!uniqueNumbers.Contains(generatedNumber))
{
uniqueNumbers.Add(generatedNumber);
}
}
return uniqueNumbers;
}
}
```
在这个例子中,我们创建了一个新的列表`uniqueNumbers`,然后在一个循环里不断生成随机数并检查是否已存在于列表中。如果不在,就添加到列表中。当列表达到指定长度时,我们就停止生成。
阅读全文