c# - 需要帮助合并两个 LINQ 语句

标签 c# .net linq

我正在编辑我以前的代码

     return phases
            .OfType<ServicePhase>()
            .Where(p => p.Service.Code == par.Service.Code)
            .Cast<ParPhase>()

但是现在我希望它包括两者

 return phases
                .OfType<ServicePhase>()
                .Where(p => p.Service.Code == par.Service.Code)
                .Cast<ParPhase>()

             .OfType<ParTypePhase>()
            .Where(p => p.ParType.Code == par.Type.Code)
            .Cast<ParPhase>();

如何将这两个合并在一起

最佳答案

使用ConcatUnion 方法。

示例:

var result = 
    phases
        .OfType<ServicePhase>()
        .Where(p => p.Service.Code == par.Service.Code)
        .Cast<ParPhase>()
        .Union(
            phases.OfType<ParTypePhase>()
            .Where(p => p.ParType.Code == par.Type.Code)
            .Cast<ParPhase>()
         );

关于c# - 需要帮助合并两个 LINQ 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8013682/

相关文章:

c# - 按具有不同 Where 条件的两个字段对数据表进行分组和求和

c# - 任务不包含在一行代码中完成的定义

C# Azure DeviceUpdateClient 403 禁止使用 ClientSecretCredential

c# - 空文本框是否被视为空字符串或 null?

.net - .Net自定义控件可以用VB6形式使用吗?

c# - 如何使用一个固定参数和集合中的另一个参数编写 Parallel.ForEach?

c# - 如何遍历控件以获得特定类型的控件?

c# - 在 Database First 中更改实体和属性名称

c# - protobuf-net 与 Windows azure(Web 角色)兼容吗?

c# - WCF 服务在处理特殊字符时失败