1

我们可以做一些类似的事情List.Contains(myItem)来检查列表中某个项目的属性是否等于myItem.

(我们已经考虑过ContainsExists,类似于:

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

但无法得到简单的表达。)

我们想要如下简单的东西:

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

如果至少有一项orderLines[i]满足,则此方法应自动返回 true:

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

我们已经实现IEquatable<OrderLine>了which equals by the Productproperty,但找不到从那里开始的方法。

4

1 回答 1

6

您使用的是 .NET 3.5 吗?如果是这样,请使用 LINQ:

if (orderLines.Any(order => order.Product == myLine.Product))
{
    ...
}
于 2009-03-20T11:17:20.240 回答