我有两个清单。

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/

10-17 02:04