我有可能是一个非常大的字典对象列表,我需要从一个键中找到一个特定的值。我当然可以做类似的事情
foreach(Dictionary<long, string> t in Foo)
{
if (t.TryGetValue(key, out name))
break;
}
这将愉快地遍历 Foo 直到找到键或 foreach 结束。
为了加快速度,我宁愿使用少量的 LINQ。如果这是一个普通列表,我会同意,但由于这是一个 Dictionary 对象列表,我不太确定它是如何完成的。
感谢帮助或建议。
最佳答案
我认为你已经写出了你想做的最有效的版本。由于 Linq 不能很好地处理输出参数,因此需要稍长的时间。但这是您将如何做到的:
var dict = Foo.FirstOrDefault(d => d.ContainsKey(key));
if (dict != null) { dict.TryGetValue(key, out name); }
关于c# - 从字典对象列表中查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16425102/