Например, у меня есть 3 списка (или больше):
List1:
[{магазин: "store1", пункт: "item1", цена: 10}, {магазин: "store1", пункт: "item2", цена: 5}, {магазин: "store1", пункт:» item4" , цена: 100}, {магазин: "store1", пункт: "item10", цена: 10}]
List2:
[{магазин: "store2", пункт: "item1", цена: 15}, {магазин: "store2", пункт: "item2", цена: 10}, {магазин: "store2", пункт:» item10" , цена: 110}]
List3:
[{магазин: "store3", пункт: "item1", цена: 5}, {магазин: "store3", пункт: "item2", цена: 10}, {магазин: "store3", пункт:» item10" , цена: 100}, {магазин: "store3", пункт: "item100", цена: 1}]
Как видите, это 3 магазина с разными товарами и ценами. Не во всех магазинах есть все товары, поэтому я хотел бы составить список, сравнив списки и найдя, например, объекты, содержащие «item1», а затем выбрав более дешевую цену. А также сравнить списки 1 по одному (список 1 со списком 2, список 1 со списком 3, список 2 с 1 и список 2 с 3). Есть ли у меня смысл?
Любой ответ приветствуется.
Я пробовал кое-что, но я просто не могу понять это (и это для 2 магазинов):
var result = (from l1 in store1list join l2 in store2list on l1.Symbol equals l2.Symbol orderby l1.Symbol select new
{
store = l1.store,
price = l1.price,
item = l1.item
}).ToList();