[英]Compare if elements in string array exists in another list c#
我有一個字符串數組和一個字符串列表。 例如,
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”?
你可以使用LINQ” Where
過濾stringList
使用部分之前_
:
var result = stringList.Where(x => stringArray.Contains(x.Split('_')[0]));
您必須用_
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());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.