我有两个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())
{
}
感谢。
答案 0 :(得分:1)
如果两个条件都应该满足(同时一起),你应该使用&&
逻辑连接它们(逻辑 AND ):
var allNumbersEmpty = empDtos
.Where(dto => dto.ExceptionIfAny == null
&& dto.Identity.RollNumber == "")
.ToList();
使用||
的查询将生成逻辑 OR ,如果适用一个或其他条件,则会适用。