为了账号安全,请及时绑定邮箱和手机立即绑定

比较字符串数组中的元素是否存在于另一个列表中C#

比较字符串数组中的元素是否存在于另一个列表中C#

C#
慕侠2389804 2021-04-28 09:08:31
我有一个字符串数组和一个字符串列表。例如,string[] stringArray = {"car", "bike", "truck"};List<string> stringList = new List<string>{"car_blue", "car_red", "truck_yellow", "ship_black", "rocket_orange"};从数组和列表中,我想将stringArray与stringList进行比较,并检索stringArray中的项目,该项目也是stringList的一部分。例如:检索到的项目应该是“ car_blue”,“ car_red”和“ truck_yellow”?
查看完整描述

3 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

您可以使用LINQ'Where来过滤stringList之前的使用部分_

var result = stringList.Where(x => stringArray.Contains(x.Split('_')[0]));


查看完整回答
反对 回复 2021-05-08
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

你必须Split通过_获得所有令牌,那么你可以使用Intersect...Any

var itemsInBoth = stringList.Where(s => stringArray.Intersect(s.Split('_')).Any());

如果您想忽略这种情况,也可以接受Car_Yellow

var itemsInBoth = stringList.Where(s => stringArray.Intersect(s.Split('_'), StringComparer.OrdinalIgnoreCase).Any());


查看完整回答
反对 回复 2021-05-08
  • 3 回答
  • 0 关注
  • 250 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信