I have a problem with different values. I have problem
List<Program> programs = new List<Program>();
programs.Add(new Program(1, "R"));
programs.Add(new Program(1, "R"));
programs.Add(new Program(1, "R"));
programs.Add(new Program(1, "S"));
programs.Add(new Program(1, "S"));
programs.Add(new Program(2, "S"));
programs.Add(new Program(2, "S"));
programs.Add(new Program(2, "S"));
programs.Add(new Program(3, "K"));
And I am trying to use LINQ
var query = programs.SelectMany(x => x.id)
.GroupBy(s => s)
.Select(g => new { Name = g.Key, Count = g.Count() });
To get a result like
Id | Char | Count |
---|---|---|
1 | R | 3 |
1 | S | 2 |
2 | S | 3 |
3 | K | 1 |
Can you help me?
CodePudding user response:
Something like this?
var query = programs
.GroupBy(x => new { x.Id, x.Char })
.Select(g => new { g.Key.Id, g.Key.Char, Count = g.Count() });