如何在LINQ的All函数中使用OR条件校验图片格式列表
解决方案
需求很明确:验证列表里的所有元素都属于.jpg或.png格式,只要存在其他格式就返回false,全部符合则返回true。用LINQ的All方法可以直接实现,核心是在All的委托逻辑里加入OR条件判断:
核心代码实现
List<string> MyStringList = new List<string>(); MyStringList.Add(".png"); MyStringList.Add(".jpg"); MyStringList.Add(".png"); MyStringList.Add(".jpg"); MyStringList.Add(".png"); MyStringList.Add(".png"); MyStringList.Add(".jpg"); MyStringList.Add(".png"); MyStringList.Add(".jpg"); MyStringList.Add(".jpg"); // 关键判断逻辑 bool allValid = MyStringList.All(ext => ext == ".jpg" || ext == ".png");
补充说明
All方法会遍历列表的每一个元素,只有当所有元素都满足委托中的条件时才返回true,只要有一个元素不匹配就返回false,完全契合你的需求。- 如果需要忽略大小写(比如列表里可能出现
.JPG、.Png这类格式),可以改用大小写不敏感的判断:
bool allValid = MyStringList.All(ext => string.Equals(ext, ".jpg", StringComparison.OrdinalIgnoreCase) || string.Equals(ext, ".png", StringComparison.OrdinalIgnoreCase));
内容的提问来源于stack exchange,提问作者cr7oo
相关产品推荐
相关产品推荐

