Est-il possible de gérer automatiquement List.Contains en comparant une propriété sur l'article?

StackOverflow https://stackoverflow.com/questions/665713

Question

Peut-on faire quelque chose de semblable à afin de List.Contains(myItem) vérifier si une propriété sur un élément dans la liste correspond à une propriété sur myItem.

(Nous avons examiné et Contains Exists, quelque chose comme:

if (orderLines.Contains(myLine)) { ... }

mais ne peut pas obtenir une simple expression.)

Nous voudrions quelque chose d'aussi simple que ce qui suit:

if (orderLines.[MethodName](myLine))
{
}

et cette méthode devrait automagiquement return true si au moins un élément répond orderLines[i]:

myLine.Product.Equals(orderLines[i].Product)

Nous avons mis en place ce qui équivaut par IEquatable<OrderLine> la propriété Product, mais ne peut pas trouver la façon de procéder à partir de là.

Était-ce utile?

La solution

Utilisez-vous .NET 3.5? Dans ce cas, utilisez LINQ:

if (orderLines.Any(order => order.Product == myLine.Product))
{
    ...
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top