如何合并Enumerable.Where判断字段Null/NotNull的方法?用变量控制逻辑
当然可以合并!
完全能把这两个方法整合成一个,只需要加个布尔参数来控制判断逻辑就行,这样代码更简洁,还能减少重复冗余。
给你个直接能用的示例:
public ICollection<Employees> SearchByPhoneNumberNullStatus(bool shouldBeNull) { // 用三元表达式根据参数选择对应的判断条件 return collection.Where(x => shouldBeNull ? x.PhoneNumber == null : x.PhoneNumber != null).ToList(); }
调用起来也特别直观:
- 要查询手机号为
null的记录,就传true:var nullPhoneStaff = SearchByPhoneNumberNullStatus(true); - 要查询手机号不为
null的记录,就传false:var nonNullPhoneStaff = SearchByPhoneNumberNullStatus(false);
如果之后你想扩展到其他字段(比如Email、Address这类),还可以进一步把字段选择也做成参数,但针对你现在的需求,上面的写法就足够简单好用啦。
内容的提问来源于stack exchange,提问作者user13505785
相关产品推荐
相关产品推荐

