c# – 使用List.Any()查找字符串是否包含项目以及查找匹配项目?
发布时间:2020-12-15 23:36:04 所属栏目:百科 来源:网络整理
导读:我有一个字符串列表,可以被认为是“过滤器”. 例如: Liststring filters = new Liststring();filters.Add("Apple");filters.Add("Orange");filters.Add("Banana"); 我有另一个字符串列表,其中包含句子. 例: Liststring msgList = new Liststring();msgList
我有一个字符串列表,可以被认为是“过滤器”.
例如: List<string> filters = new List<string>(); filters.Add("Apple"); filters.Add("Orange"); filters.Add("Banana"); 我有另一个字符串列表,其中包含句子. 例: List<string> msgList = new List<string>(); msgList.Add("This sentence contains the word Apple."); msgList.Add("This doesn't contain any fruits."); msgList.Add("This does. It's a banana."); 现在我想找出msgList中哪些项目包含水果.为此,我使用以下代码: foreach(string msg in msgList) { if(filters.Any(msg.Contains)) { // Do something. } } 我想知道,在Linq中是否有一种方法可以使用类似于List.Any()的方法,我可以检查msgList是否包含水果,如果有,也可以获得与查询相匹配的水果.如果我可以在’过滤器’中得到匹配的索引应该没问题.也就是说,对于循环的第一次迭代,它应该返回0(‘Apple’的索引),对于第二次迭代返回null或类似负值,对于第三次迭代,它应该返回2(‘Banana’的索引) . 我在SO以及谷歌周围检查过但是找不到我正在寻找的东西. 解决方法
你想要
FirstOrDefault而不是Any.
如果找不到,FirstOrDefault将返回匹配的第一个对象,如果未找到,则返回默认值(通常为null). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 绑定对象永远不会为空
- Cocos2dx 3.0 过渡篇 globalZOrder()与localZOrder()
- 使用Flash, HTML5, Unity进行web游戏开发的现状对比
- Swift编程(二):UIViewController之间的传值以及闭包回调
- 【quick-cocos2dx从零开始做游戏】【二】创建工程与运行
- 命令行错误导致的MSBuild – System.Xml所需的引用
- C#实现窗体间传值实例分析
- sqlite3.OperationalError: Could not decode to UTF-8 col
- ajax调用mvc控制器
- swift详解之十七-----------GCD的一些高级用法