C# Random 生成器在循环中总是返回相同的数字
大家好!我是 C# 新手,尝试在 for 循环中生成一个随机数列表。但遇到了问题:列表中的每个数字都相同!这是我的代码:
```csharp
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List numbers = new List();
for (int i = 0; i < 10; i++)
{
Random rand = new Random();
int num = rand.Next(1, 100);
numbers.Add(num);
}
foreach (int n in numbers)
{
Console.WriteLine(n);
}
}
}
```
我期望看到 10 个不同的 1 到 99 之间的随机数,但实际得到的是类似:
```
45
45
45
45
45
45
45
45
45
45
```
虽然有时重新运行程序数字会变化,但在同一次运行中所有数字都相同。我尝试了不同的 seed 值,改变了范围——都没有用。为什么会这样?如何正确生成不同的随机数?