如何对C#类对象值进行分组。 LINQ可以吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何对C#类对象值进行分组。 LINQ可以吗?相关的知识,希望对你有一定的参考价值。
我一直在尝试对对象字段进行分组,但似乎无法正常工作。
这里是类对象
public class Inventory
public string warehouse_id get; set;
public string product_id get; set;
public int quantity get; set;
public List<Inventory> inventories get; set;
数据是通过JSON这样从API调用传入的:
"inventories": [
"warehouse_id": "warehouse1",
"product_id": "productA",
"quantity": 5400
,
"warehouse_id": "warehouse2",
"product_id": "productA",
"quantity": 571
,
"warehouse_id": "warehouse3",
"product_id": "productA",
"quantity": 0
,
"warehouse_id": "warehouse1",
"product_id": "prod_B",
"quantity": 0
,
"warehouse_id": "warehouse2",
"product_id": "prod_B",
"quantity": 0
,
"warehouse_id": "warehouse3",
"product_id": "prod_B",
"quantity": 1
,
]
反序列化对象没有问题。
Request request = new Request("api/path/to/get/inventory/data", Method.GET);
var r= request.Execute<InventoryReport>();
现在我有一个已填充的InventoryReport对象。
我需要忽略Warehouse_id值,并按产品分组数量数据。例如"inventories": [
"warehouse_id":"any value here",
"product_id": "productA",
"quantity": 5571 // Here we have grouped the total quantity by product
,
问题分为两部分。 LINQ是否可能获得此结果?我尝试了此操作,但它不起作用(由于可变的Warehouse_id,我在想)。
var groupedInventory = from newObject1 in r.inventories group arrayObject1 by new newObject1.quantity, newObject1.product_id into g select new KKey = g.Key, Obj = g ;
如果不可能,最好的方法是什么。我只是不明白,所以任何指导都将有所帮助。
我一直在尝试对对象字段进行分组,但似乎无法正常工作。这是类对象public class Inventory public string Warehouse_id get;组; ...
答案
尝试一下
以上是关于如何对C#类对象值进行分组。 LINQ可以吗?的主要内容,如果未能解决你的问题,请参考以下文章