gpt4 book ai didi

c# - 多次调用时生成的随机字符串不是随机的

转载 作者:行者123 更新时间:2023-11-30 13:36:18 27 4
gpt4 key购买 nike

<分区>

我正在尝试创建一个随机生成的单词字符串,除非我连续多次调用它,否则它工作正常。这是一个 WebForms 页面,单词列表来自一个文件。

我怀疑在没有 C# 的情况下我无法理解某些东西,或者 ASP.NET 在这种情况下可能会起作用,有人可以解释为什么会发生这种情况以及如何进行修复吗?

这是方法

public string GeneratePhrase()
{
// get dictionary file
var data = File.ReadAllLines(HttpContext.Current.Server.MapPath("~/libs/words.txt"));

Random rand = new Random();
int r1 = rand.Next(data.Count());
int r2 = rand.Next(data.Count());
int r3 = rand.Next(data.Count());

string p1 = data.ElementAt(r1).ToLower();
string p2 = data.ElementAt(r2).ToLower();
string p3 = data.ElementAt(r3).ToLower();

string ret = string.Format("{0}{1}{2}", p1, p2, p3);
return ret;
}

如果我在 PostBack 期间调用它一次,它很好并且总是创建一个随机的单词组合。但是,如果我在 PostBack 期间多次使用它,它只会重复每次调用中的相同随机字符串。

string s1 = this.GeneratePhrase();
string s2 = this.GeneratePhrase();
string s3 = this.GeneratePhrase();
Response.Write(s1);
Response.Write(s2);
Response.Write(s3);

输出

tirefriendhotdog
tirefriendhotdog
tirefriendhotdog

为什么会发生这种情况?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com