使用Linq检查Tuple列表是否包含Item1 = x的元组

Bla*_*ell 3 c# linq tuples list

我有一个产品列表,但我想将它简化为一个元组,因为我只需要每个产品的productId和brandId.然后在以后的代码中想要检查元组列表是否包含Item1 = x的元组,以及Item2 = y的单独情况.

List<Tuple<int, int>> myTuple = new List<Tuple<int, int>>();

foreach (Product p in userProducts)
{
    myTuple.Add(new Tuple<int, int>(p.Id, p.BrandId));
}

int productId = 55;
bool tupleHasProduct = // Check if list contains a tuple where Item1 == 5
Run Code Online (Sandbox Code Playgroud)

Jas*_*n W 11

在Linq中,您可以使用该Any方法检查是否存在评估为true的条件:

bool tupleHadProduct = userProducts.Any(m => m.Item1 == 5);
Run Code Online (Sandbox Code Playgroud)

另见:https://msdn.microsoft.com/library/bb534972(v = vs.100).aspx