У меня в корзине есть несколько товаров. Клиент уже разместил заказ на ОДИН из товаров в своей корзине в прошлом.
Я пытаюсь получить список заказов, которые он разместил в прошлом (выполнено GetOrders ).
Передайте элементы из его корзины в мой метод (передайте *items *в мой метод)
Проверьте, соответствует ли какой-либо из элементов корзины элементу orderItems
public bool ProductFound(IReadOnlyCollection items)
{
var orders = GetOrders();
foreach (var order in orders)
{
if (items.Intersect(order.OrderItems).Any())
{
return true;
}
}
return false;
}
Я создаю приведенный выше код, но, хотя я знаю, что в orderItems и элементах есть один и тот же продукт, он никогда не возвращает true. Затем я попробовал order.OrderItems.ProductId, чтобы он соответствовал идентификатору, но затем у меня возникла ошибка приведения.
Как я могу проверить, содержит ли один список какие-либо элементы из переданного второго списка в?
Я посетил эту ссылку для справки https://code-maze.com/csharp-check-if-i ... other-list /#:~:text=We%20can%20use%20the%20IEnumerable,()%20vs%20Count()%20in%20.
Изменить 1
public bool ProductFound(IReadOnlyCollection items)
{
var orders = GetOrders();
foreach (var order in orders)
{
foreach (var i in orders.OrderItems)
{
if (items.Contains(i))
{
return true;
}
}
}
return false;
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... in-another