可能重复:
随机数生成器仅生成一个随机数
我的工作中有一种方法,它通过在一组单词之间随机选择来生成一个句子,如下所示:
private string generateTest(string test)
{
test = test.ToLower();
string sentence = "";
for (int c = 0; c < 30; c++)
{
Random r = new Random();
int len = r.Next(3, 7);
string word = "";
for (int i = 0; i < len; i++)
{
word += test[r.Next(0, test.Length)];
}
sentence += word + ' ';
}
return sentence;
}
但是,问题是前6个词随机生成后,后面的所有词都是完全一样的东西。例如
aqaaaz, qqzaq, aqqza, azqq, aazzq, aqqa, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq, azzzq。 ...
然后,即使我重新启动程序,同样的事情也适用。我在想这是 .NET 运行时做一些自动优化。谁能解释得更好?我该如何解决这个问题?