下面的代码创建了一个字符串列表。分组因子是StoreID(Item1)。我想要的是一个字典,其中分组因子(即StoreID)作为键,字符串作为值。输入文件只是一个包含3列的文本文件:StoreID,Quantity和其他东西(我记不起来了),但这些值只是为每个行连接在一起,以便商店使用逗号和条形分隔字符串。
var query = skuStoreStockLevel.GroupBy(x => x.Item1)
.Select(g => g.Aggregate(new StringBuilder(),
(sb, x) => sb.AppendFormat("{0}{1},{2},{3}", "|", x.Item1, x.Item2, x.Item3),
(sb) => sb.ToString()));
答案 0 :(得分:2)
您可以使用Enumerable.ToDictionary执行此操作:
var query = skuStoreStockLevel.GroupBy(x => x.Item1)
.ToDictionary(
g => g.Key,
g => g.Aggregate(new StringBuilder(),
(sb, x) => sb.AppendFormat("|{0},{1},{2}", x.Item1, x.Item2, x.Item3),
(sb) => sb.ToString()));