我无法解释以下陈述:
var myResults = new List<bool>();
myResults.Add(this.myWorkers.All(c => other.Workers.Any(cc => c.Equals(cc))));
我看过this article这分别解释了 Any 和 All。但是我不太确定如何解释嵌套的 LINQ。
最佳答案
this.myWorkers.All(c => other.Workers.Any(cc => c.Equals(cc)))
如果 中的每个对象都返回
集合出现在true
code>myWorkersother
的Workers
集合中。
你可以用循环重写这个表达式:
bool All = true;
foreach (var c in this.myWorkers)
{
bool Any = false;
foreach (var cc in other.Workers)
if (c.Equals(cc))
{
Any = true;
break;
}
if (!Any)
{
All = false;
break;
}
}
myResults.Add(All);
关于c# - 无法理解 LINQ 扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27222253/