У меня есть список идентификаторов, правильно сохраненных в List <>. Теперь мне нужно сгруппировать этот список и подсчитать количество вхождений, отсортированных по убыванию.
Пример:
List<string> aryIDs = new List<string>;
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("3214");
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("1234");
Будет выдавать:
"1234", 3
"4321", 2
"3214", 1
Это было бы легко в TSQL, но я бы хотел по возможности избежать обхода сервера, ненужных таблиц и т. Д.
Заранее спасибо.
Обновление: VB.NET преобразование для ответа Ральфа Шиллингтона ниже:
Dim result = From id In aryIDs _
Group id By id Into Group _
Order By Group.Count() Descending _
Select id, Count = Group.Count()
result.Dump()