如何在C#中使用groupBy对Transaction列表按Barcode分组?
按Barcode分组Transaction列表的实现方案
你可以通过GroupBy配合ToDictionary直接得到你需要的键值对结构,具体实现如下:
核心代码
// 假设这是你的Transaction对象列表 List<Transaction> transactionList = GetTransactions(); // 按Barcode分组并转换为字典 Dictionary<string, List<Transaction>> groupedResult = transactionList .GroupBy(t => t.Barcode) .ToDictionary(group => group.Key, group => group.ToList());
代码说明
GroupBy(t => t.Barcode):将列表按Barcode字段分组,每个分组的Key就是对应的条码值,分组集合包含该条码下的所有Transaction对象。ToDictionary(...):把分组结果转换成字典结构,键为Barcode字符串,值是对应分组的Transaction列表,完全匹配你需要的["barcode1":[列表1], "barcode2":[列表2]]形式。
如果需要输出JSON格式的结果,可将字典序列化:
// 需引用Newtonsoft.Json库 string jsonOutput = JsonConvert.SerializeObject(groupedResult);
内容的提问来源于stack exchange,提问作者Tín Trọng
相关产品推荐
相关产品推荐

