在 .net 2.0 框架上用 C# 从字符串数组中获取随机值的最快方法是什么?我想他们可能有这个:
string[] fileLines = File.ReadAllLines(filePath);
fileLines.GetRandomValue();
是的,我知道 GetRandomValue() 不是一个实际的方法,是否有类似的东西或多或少同样简短而甜蜜?
不是内置的,但很容易添加......
static readonly Random rand = new Random();
public static T GetRandomValue<T>(T[] values) {
lock(rand) {
return values[rand.Next(values.Length)];
}
}
(the static
如果我们在紧密循环中使用它,字段有助于确保我们不会重复,并且lock
确保其免受多个呼叫者的侵害)
在 C# 3.0 中,这可能是一个扩展方法:
public static T GetRandomValue<T>(this T[] values) {...}
然后您可以完全按照您的示例使用它:
string[] fileLines = File.ReadAllLines(filePath);
string val = fileLines.GetRandomValue();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)