带有字符串的Linq聚合只返回一个项而不是两个

时间:2015-04-29 13:49:41

标签: c# linq

虽然我在w.RefrigeratorDetails集合中有2个项目,但聚合字符串仅显示有关第二个项目的数据,而不是第一个项目。

为什么?

RefrigeratorDetails = w.RefrigeratorDetails
                        .Select((value, index) => new { Value = value, Index = index + 1 })
                        .Aggregate(string.Empty,
                                   (current, item) =>
                                        "test1" + item.Index + ": " + item.Value.SerialNumber + Environment.NewLine
                                        + "test2" + item.Index + ": " + item.Value.ArticleNumber + Environment.NewLine
                                        + "test3" + item.Index + ": " + (item.Value.DateOfPurchase.HasValue
                                                                         ? item.Value.DateOfPurchase.Value.ToShortDateString()
                                                                         : "")
                                        + Environment.NewLine + Environment.NewLine)

1 个答案:

答案 0 :(得分:1)

因为当您汇总数据时,您忽略了current,并将每个附加记录投影到仅包含该记录数据的项目中,而不包含先前的数据。