猿问

比较字符串数组中的元素是否存在于另一个列表中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”?


慕侠2389804
浏览 251回答 3
3回答

芜湖不芜

您可以使用LINQ'Where来过滤stringList之前的使用部分_:var&nbsp;result&nbsp;=&nbsp;stringList.Where(x&nbsp;=>&nbsp;stringArray.Contains(x.Split('_')[0]));

慕田峪9158850

你必须Split通过_获得所有令牌,那么你可以使用Intersect...Any:var&nbsp;itemsInBoth&nbsp;=&nbsp;stringList.Where(s&nbsp;=>&nbsp;stringArray.Intersect(s.Split('_')).Any());如果您想忽略这种情况,也可以接受Car_Yellow:var&nbsp;itemsInBoth&nbsp;=&nbsp;stringList.Where(s&nbsp;=>&nbsp;stringArray.Intersect(s.Split('_'),&nbsp;StringComparer.OrdinalIgnoreCase).Any());
随时随地看视频慕课网APP
我要回答