c# - 无法理解 LINQ 扩展方法

标签 c# linq

我无法解释以下陈述:

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>myWorkers 集合出现在otherWorkers 集合中。

你可以用循环重写这个表达式:

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/

相关文章:

c# - 模拟 Microsoft DLL

c# - CQRS与提交数据时的冲突

c# - 视频时长是应有的两倍

c# - @Html.Action 正在从部分 View 镜像我的网站,而不引用布局页面?

c# - Linq-to-Entity 查询的动态谓词

c# - 重构ViewModels

c# - 在 MsBuild 中,PropertyGroup 和 ItemGroup 有什么区别

c# - 如何在 linq 中选择多个条件?

c# - 如何传入将用作数据表中行的过滤器的 lambda?

c# - LINQ DateTimeOffset 与今天的比较