Est-il possible de gérer automatiquement List.Contains en comparant une propriété sur l'article?
-
21-08-2019 - |
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à.
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