Возможно ли автоматически обрабатывать List.Содержит путем сравнения свойства элемента?
-
21-08-2019 - |
Вопрос
Можем ли мы сделать что-то похожее на List.Contains(myItem)
для того, чтобы проверить, совпадает ли свойство элемента в списке со свойством myItem
.
(Мы рассмотрели Contains
и Exists
, что - то вроде:
if (orderLines.Contains(myLine)) { ... }
но не могу получить простое выражение.)
Мы хотели бы что-то столь же простое, как следующее:
if (orderLines.[MethodName](myLine)) { }
и этот метод должен автоматически возвращать true, если хотя бы один элемент orderLines[i]
исполняет:
myLine.Product.Equals(orderLines[i].Product)
Мы внедрили IEquatable<OrderLine>
который приравнивается к Product
свойство, но не может найти, как действовать дальше.
Решение
Используете ли вы .NET 3.5?Если это так, используйте LINQ:
if (orderLines.Any(order => order.Product == myLine.Product))
{
...
}
Не связан с StackOverflow