在 C# 中从字符串数组获取随机值的最快方法?
在 .net 2.0 框架上用 C# 从字符串数组中获取随机值的最快方法是什么?我想他们可能有这样的想法:
string[] fileLines = File.ReadAllLines(filePath);
fileLines.GetRandomValue();
是的,我知道 GetRandomValue() 不是一个实际的方法,是否有类似的东西或多或少同样简短而甜蜜?
What's the fastest way to get a random value from a string array in C# on the .net 2.0 framework? I figured they might have had this:
string[] fileLines = File.ReadAllLines(filePath);
fileLines.GetRandomValue();
Yes, I know GetRandomValue() is not an actual method, is there something similar that's more or less equally short and sweet?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
不是内置的,但很容易添加...
(
static
字段有助于确保我们在紧密循环中使用它时不会重复,并且lock
确保它免受多个调用者的影响)在 C# 3.0 中,这可能是一个扩展方法:
然后您可以完全按照您的示例使用它:
Not built in, but easy enough to add...
(the
static
field helps ensure we don't get repeats if we use it in a tight loop, and thelock
keeps it safe from multiple callers)In C# 3.0, this could be an extension method:
Then you could use it exactly as per your example:
的确。
Indeed.
我不认为数组支持这样的功能。最简单的方法就是获取一个随机数,然后获取对应的项目。
I don't think arrays support such a function. The easiest way is just to get a random number, and get the corresponding item.
尝试:
Try:
Linq To Sql 方式
如果您看到错误,您应该添加 System.Linq;
Linq To Sql way
If you see error you should add System.Linq;
我会使用此方法从数组中获取随机项:
I'd have used this method to get random item from an array :