Предполагая, что у вас есть List<string>
, который содержит ваши детали:
List<string> myList = PopulateList(...); // fill the list with names
Если вы просто хотите, чтобы отсортировать список, вы можете использовать List.Sort
:
myList.Sort();
Затем можно перейти через список цикл для подсчета дубликатов и определения наиболее частого.
Или вы можете группировать элементы, а затем сортировать группировку по счету, по убыванию и перенести первый элемент.
var mostCommon =
myList.GroupBy(x => x)
.OrderByDescending(g => g.Count())
.First();
А потом mostCommon.Key
покажет вам самый общий элемент, и mostCommon.Count()
покажет вам, сколько элементов есть.
Или, если вы хотите список {name, count}
, упорядоченный по количеству:
var groupedAndSorted =
myList.GroupBy(x => x)
.Select(x => new {Key=x.Key, Count=x.Count()})
.OrderByDescending(x => x.Count)
.ToList();
Имейте выглядеть так: http://stackoverflow.com/a/9909544/6729295 –
В заголовке, Вы запрашивая поиск того же значения, и в вашем вопросе вы запрашиваете сортировку –