それは自動的にアイテムのプロパティを比較することにより、List.Containsを処理することは可能ですか?

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

質問

私たちは、リスト内の項目のプロパティがList.Contains(myItem)のプロパティと等しいかどうかを確認するために、myItemに似た何かを行うことができます。

(私たちは、ContainsExistsのようなものを考えられています

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))
{
    ...
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top