【发布时间】:2020-05-26 07:15:22
【问题描述】:
我有foreach:
public string myLookingValue;
...
foreach(var item in selected.Something)
{
var check = item.Parameters.ToList();
foreach(var lookingValue in check)
{
if(lookingValue.Value == "TEST")
myLookingValue = lookingValue.Key;
}
}
可以不运行第二个foreach吗?只使用Linq?
【问题讨论】:
-
你试过
SelectMany吗? -
性能可以通过调用'break;'来提高当你找到你正在寻找的价值时。
-
你为什么不直接写 myLookingValue = „TEST“ ?你的循环对我来说似乎没用。
-
请提供课程
-
像@Yuriy 已经做了
item.Parameters .Where(lookingValue => lookingValue.Value == "TEST").ToList();然后for循环,如果需要的话,基本上改变你的内部循环来过滤 where 而不是通过每个项目然后检查......我知道它就像同样一样,但它的效率不是。
标签: c# function linq loops foreach