我有两个清单。
1) List<StringA>
2) List<Tuple<StringB, StringC>>
我想匹配StringA和StringC上的列表,并将结果返回为
List<Tuple<StringB, StringC>>
。如何在具有相交的元组中选择StringC?我试过了:
List1.Intersect(List2.Select(c => c.Item2));
但这并不能将其作为元组返回。
我该如何解决?
最佳答案
您可以使用:
var query = List2.Where(t => List1.Contains(t.Item2));
您也可以将
HashSet
用于性能目的,例如:HashSet<string> hashSet = new HashSet<string>(List1);
var query = List2.Where(t => hashSet.Contains(t.Item2));
关于c# - C#列表与作为元组返回的元组中的某些项目相交,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30076948/