如何使用Linq重写判断数组中是否包含'apple'的代码
使用LINQ重写判断数组是否包含指定文本的代码
直接用LINQ的Any方法就能一行搞定,完全等价于你原来的循环逻辑:
bool apple = pack.items.Any(item => item.Contains("Apple"));
补充说明
Any方法会遍历集合元素,一旦找到满足条件的元素就立刻返回true,不会继续遍历剩余元素,和你手动写的foreach效率一致,代码更简洁。- 如果你需要不区分大小写匹配(比如同时匹配"apple"、"Apple"、"APPLE"),可以改用带字符串比较参数的写法:
// .NET Core/.NET 5+ 支持直接给Contains传比较参数 bool apple = pack.items.Any(item => item.Contains("Apple", StringComparison.OrdinalIgnoreCase)); // 兼容旧版.NET Framework的写法 bool apple = pack.items.Any(item => item.IndexOf("Apple", StringComparison.OrdinalIgnoreCase) >= 0);
这样就能准确判断集合中是否存在包含目标文本的元素了。
内容的提问来源于stack exchange,提问作者So25
相关产品推荐
相关产品推荐

