如何简化含Count()的Lambda表达式以判断字符串数组元素存在性
简化Lambda表达式实现方案
你的代码可以通过以下几步逐步简化:
- 第一步:替换
Count()>0为Any()方法。Any()会直接判断集合中是否存在满足条件的元素,返回布尔值,比先过滤再统计数量更高效(无需遍历整个集合)。 - 第二步:移除多余的三元运算符
?true:false。因为Any()本身返回的就是布尔值,直接赋值给变量即可。 - 第三步:省略
Where()方法,直接将判断逻辑传入Any(),让代码更简洁。
最终简化后的代码如下:
bool doStudents = args.Any(x => x.Contains("students"));
如果需要忽略大小写匹配(比如同时匹配"Students"或"STUDENTS"),可以添加StringComparison参数:
bool doStudents = args.Any(x => x.Contains("students", StringComparison.OrdinalIgnoreCase));
内容的提问来源于stack exchange,提问作者Marja van der Wind
相关产品推荐
相关产品推荐

