使用linq c按索引对行进行分组#

时间:2013-12-19 06:55:48

标签: c# linq

我想使用c#

中的LINQ按索引对行进行分组

例如,我有这样的集合:

  • John,Ready,13.44,John
  • Jason,Ready,2.5,Eric
  • Mary,Active,3,Rose
  • Mary,Active,3,Antony

我想用Collection [3]对结果进行分组,并使用'|'连接结果,所以预期的结果是:

  • John,Ready,13.44,John
  • Jason,Ready,2.5,Eric
  • Mary,Active,3,Rose |安东尼

我该如何实施?

2 个答案:

答案 0 :(得分:1)

对行结构做出一些假设:

rows
    .GroupBy(r => new {r.Name,r.Status,r.Value})
    .Select(g => new{g.Key.Name,g.Key.Status,g.Key.Value, g.Aggregate(string.Empty, (s,r) => s + 
            '|' + r.Name2)})

答案 1 :(得分:0)

我希望这些项目在ListObject中。找到以下代码以对项目进行分组

单列

List<NewObj> = ListObject.GroupBy(x => x.colum1)

多列组的

List<NewObj> = ListObject.GroupBy(x => new { x.colum1, x.colum2 })