结合两个lambda表达式查询

时间:2018-05-25 05:10:11

标签: c# lambda

我有两个lambda表达式。你能帮我解决一下我怎么把它们合二为一。

private bool CheckForNonUniqueRollNumbers(IEnumerable<EmployeeInfoDto> empDtos)
{

    var dtosToCheck = empDtos.Where(dto => dto.ExceptionIfAny == null).ToList();
    var allNumbersEmpty = empDtos.All(dto => dto.Identity.RollNumber == "");
    if (dtosToCheck.Any() && !allSerialNumbersEmpty)
    {

    }

我想结合以上两个查询

我尝试了以下查询,但我不确定这是否正确

var dtosToCheck = empDtos.Where(dto => dto.ExceptionIfAny == null 
    || dto.Identity.RollNumber == "").ToList();
    if (dtosToCheck.Any())
     {

     }

感谢。

1 个答案:

答案 0 :(得分:1)

如果两个条件都应该满足(同时一起),你应该使用&&逻辑连接它们(逻辑 AND ):

var allNumbersEmpty = empDtos
                            .Where(dto => dto.ExceptionIfAny == null
                                   && dto.Identity.RollNumber == "")
                            .ToList();

使用||的查询将生成逻辑 OR ,如果适用一个或其他条件,则会适用。