Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 扫描对象列表并比较对象值_C#_List_Object - Fatal编程技术网

C# 扫描对象列表并比较对象值

C# 扫描对象列表并比较对象值,c#,list,object,C#,List,Object,例如,我有3个列表(或更多): 清单1: [{门店:“门店1”,商品:“门店1”,价格:10},{门店:“门店1”,商品:“门店2”,价格:5},{门店:“门店1”,商品:“门店4”,价格:100},{门店:“门店1”,商品:“门店10”,价格:10}] 清单2: [{商店:“商店2”,物品:“物品1”,价格:15},{商店:“商店2”,物品:“物品2”,价格:10},{商店:“商店2”,物品:“物品10”,价格:110}] 清单3: [{门店:“门店3”、商品:“门店1”、价格:5}、{门店:

例如,我有3个列表(或更多):

清单1:

[{门店:“门店1”,商品:“门店1”,价格:10},{门店:“门店1”,商品:“门店2”,价格:5},{门店:“门店1”,商品:“门店4”,价格:100},{门店:“门店1”,商品:“门店10”,价格:10}]

清单2:

[{商店:“商店2”,物品:“物品1”,价格:15},{商店:“商店2”,物品:“物品2”,价格:10},{商店:“商店2”,物品:“物品10”,价格:110}]

清单3:

[{门店:“门店3”、商品:“门店1”、价格:5}、{门店:“门店3”、商品:“门店2”、价格:10}、{门店:“门店3”、商品:“门店10”、价格:100}、{门店:“门店3”、商品:“门店100”、价格:1}]

正如你所见,这就像3家商店,有不同的商品和价格。并不是所有的商店都有所有的商品,所以我想通过比较列表,找到包含“item1”的物品,然后选择更便宜的价格来制作一个列表。并逐一比较列表(列表1与列表2、列表1与列表3、列表2与1、列表2与3)。我说得通吗

任何答复都将不胜感激

我试过一些东西,但我就是不明白(这适用于两家商店):


您可以合并列表,然后按项目分组,然后选择按价格订购每个组,并从每个组中选择第一个(最便宜的)

var result = List1.Concat(List2).Concat(List3).GroupBy(x => x.item)
     .Select(g => g.OrderBy(x=> x.price).First()).ToList();

你已经试过什么了?你在哪里卡住了?我会把它加到问题上
var result = List1.Concat(List2).Concat(List3).GroupBy(x => x.item)
     .Select(g => g.OrderBy(x=> x.price).First()).ToList();