我们可以执行与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
属性,但找不到如何从那里继续。
答案 0 :(得分:6)
您使用的是.NET 3.5吗?如果是这样,请使用LINQ:
if (orderLines.Any(order => order.Product == myLine.Product))
{
...
}