list.GroupBy(p => p.desc) .Select(group => new { desc = group.Key, count = group.Count() }) .ToList();