我有一个字符串数组和一个字符串列表。例如,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]));
慕田峪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());
- 3 回答
- 0 关注
- 250 浏览
添加回答
举报
0/150
提交
取消