我们可以做类似的事情List.Contains(myItem)
,以检查列表中项目的属性是否等于属性myItem
.
(我们曾考虑Contains
和Exists
,是这样的:
if (orderLines.Contains(myLine)) { ... }
但不能得到一个简单的表达.)
我们想要一些简单如下的东西:
if (orderLines.[MethodName](myLine)) { }
如果至少有一个项目orderLines[i]
满足,则此方法应自动返回true :
myLine.Product.Equals(orderLines[i].Product)
我们已经实施IEquatable
了等同于该Product
属性,但无法找到如何从那里开始.
你在使用.NET 3.5吗?如果是这样,请使用LINQ:
if (orderLines.Any(order => order.Product == myLine.Product)) { ... }