У меня есть этот фрагмент кода:LINQ GroupBy - Как сгруппировать?
List<string[]> list = new List<string[]>();
list.Add(new string[] { "A", "q", "t" });
list.Add(new string[] { "B", "w", "t" });
list.Add(new string[] { "B", "e", "r" });
list.Add(new string[] { "A", "r", "t" });
list.Add(new string[] { "B", "t", "e" });
var result = from item in list
group item by item[0] into g
let count = g.Count()
orderby count descending
select new { Value = g.Key, Count = count};
foreach (var res in result)
{
Console.WriteLine("Value: " + res.Value + " Count: " + res.Count);
}
, что продукт этот результат:
Value: B Count: 3
Value: A Count: 2
Как я могу получить этот результат, не слишком много Еогеасп?
Values: A q t - Count 2
Values: A r t - Count 2
Values: B w t - Count 3
Values: B e r - Count 3
Values: B t e - Count 3
Как же у вас есть счет '2' для' А д Т *? Точно так же рассчитывается для других с данными, которые вы предоставили? –
Счет 2 состоит в том, что буква «A» присутствует два раза в первом столбце данных. Буква «B» присутствует три раза. –