gpt4 book ai didi

c# - 从字符串列表中选择随机字符串的更好方法

转载 作者:太空宇宙 更新时间:2023-11-03 21:32:33 26 4
gpt4 key购买 nike

我有一个类似刽子手的猜词游戏。

这是我用来从单词列表中选择单词的代码:

List<string> words = GetWordsList();
int index = new Random().Next(words.Count);
string random = words[index];

有没有更好的方法从单词列表中获取随机项目?

编辑 1:

我的意思是更好(更好的性能或更好的随机性或其他需要考虑的改进)

编辑 2:

我根据玩家猜词所花的时间每 15-30 秒调用一次这些线。

编辑 3:

我不知道它是否有用,但为了获得有关上下文的更多信息,我在这些代码行之后从列表中删除了该项目。

最佳答案

我会考虑做这样的事情:

var rnd = new Random();
var words = new Stack<string>(GetWordsList().OrderBy(w => rnd.Next()));

然后您只需.Pop() 堆栈中的下一个值即可获得下一个随机单词。

请注意在您的应用中仅实例化一次 Random 实例,以避免产生与快速连续调用您的代码相关的非随机值。

关于c# - 从字符串列表中选择随机字符串的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23515711/

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