c# – 使用LINQ获取项目列表,其中项目包含来自另一个列表的项目
发布时间:2020-12-15 23:41:54 所属栏目:百科 来源:网络整理
导读:有一个模型列表: Liststring models = new Liststring{ "abcd1234","xycd9999","zzz999z","ros7777"}; 有过滤器清单: Liststring filterer = new Liststring { "cd","9999" }; 我正在尝试使用LINQ来获取包含过滤器项目的所有模型作为其名称的一部分. 对于
有一个模型列表:
List<string> models = new List<string> { "abcd1234","xycd9999","zzz999z","ros7777" }; 有过滤器清单: List<string> filterer = new List<string> { "cd","9999" }; 我正在尝试使用LINQ来获取包含过滤器项目的所有模型作为其名称的一部分. 对于这个例子: >“abcd1234”和“xycd9999”包含“cd” 因此,LINQ操作将返回两个项目的列表:“abcd1234”和“xycd9999”. var filteredList = models .Where(m => m.Contains("/*HERE WILL BE THE FILTERER ITEMS*/")) .Distinct() .ToList(); 什么是正确的语法? 解决方法var filteredList = models .Where(x => filterer.Any(y => x.Contains(y)) .ToList(); Distinct在这里没有用处,因为Where调用不会引入重复项(除非模型具有重复值,并且您希望删除这些重复项). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |