それは自動的にアイテムのプロパティを比較することにより、List.Containsを処理することは可能ですか?
-
21-08-2019 - |
質問
私たちは、リスト内の項目のプロパティがList.Contains(myItem)
のプロパティと等しいかどうかを確認するために、myItem
に似た何かを行うことができます。
(私たちは、Contains
とExists
のようなものを考えられています
if (orderLines.Contains(myLine)) { ... }
が、単純な式を取得することはできません。)
私たちは、次のような単純なものをしたいと思います:
if (orderLines.[MethodName](myLine)) { }
と少なくとも一つのアイテムorderLines[i]
が満たしている場合、このメソッドは自動的にtrueを返す必要があります:
myLine.Product.Equals(orderLines[i].Product)
私たちはIEquatable<OrderLine>
プロパティによって相当Product
を実装しているが、そこから続行する方法を見つけることができません。
解決
は、.NET 3.5を使用していますか?その場合は、LINQを使用します:
if (orderLines.Any(order => order.Product == myLine.Product))
{
...
}
所属していません StackOverflow