Посчитать сколько одинаковых элементов в ArrayList - C#
Формулировка задачи:
Есть массив ArrayList, в который могут вноситься различные названия операционных систем. Причем, какие именно заранее не известно.
Например:
Необходимо посчитать количество каждого элемента.
Например, для списка выше алгоритм должен вывести следующие подсчеты:
ArrayList OS_list = new ArrayList();
OS_list.Add("Windows");
OS_list.Add("Mac OS");
OS_list.Add("Linux");
OS_list.Add("Windows");
OS_list.Add("Windows");
OS_list.Add("Linux");
OS_list.Add("Apple");Наименование ОС Количество Windows 3 Linux 2 Apple 1 Mac OS 1
Решение задачи: «Посчитать сколько одинаковых элементов в ArrayList»
textual
Листинг программы
Dictionary<string, int> counts = OS_list.ToArray().GroupBy(x => x)
.ToDictionary(g => g.Key.ToString(),
g => g.Count());
foreach (KeyValuePair<string, int> kvp in counts)
{
Console.WriteLine("{0,-10} {1,3}", kvp.Key, kvp.Value);
}