Массив. Количество одинаковых значений?
Почему не база данных, можно как и в базе данных:using System.Linq;

var list = new List<int>() { 1, 5, 5, 4, 7, 5 };
var gr = list.GroupBy(e => e);
foreach (var line in gr)
{
    Console.WriteLine("{0} => {1}", line.Key, line.Count());
}
Думаю нужно использовать словарь https://docs.microsoft.com/ru-ru/dotnet/api/system...
Проходишь массив(значение массива будет ключом для словаря) и добавляешь значениям словаря 1 если есть ключ или добавляешь ключ с значением 1 если его нет.