Перебор массива на совпадения!?
Если я правильно понял вопрос, то через словарь это делается вот так:using System;
using System.Collections.Generic;

namespace GetRepetitions
{
    class Program
    {
        static void Main(string[] args)
        {
            var scoreCombo = new int[] { 1, 2, 1, 1, 1 };
            var repetitions = GetRepetitionsCount(scoreCombo);   
            
            foreach (var kv in repetitions)           
                Console.WriteLine($"Num: {kv.Key}, Rep. Count: {kv.Value}");            
        }

        static Dictionary<int, int> GetRepetitionsCount(int[] arr)
        {
            var repetitions = new Dictionary<int, int>();
            foreach (var num in arr)
                if (repetitions.ContainsKey(num))
                    repetitions[num]++;
                else
                    repetitions.Add(num, 0);
            return repetitions;
        }
    }
}
С помощью LINQ можно сгруппировать элементы массива по их значению и отобрать те, количество которых больше 1.using System;
using System.Linq;

public class Test
{
	public static void Main()
	{
        int[] ScoreCombo = new int[5] { 1, 2, 1, 1, 1 };
        foreach(var repeat in ScoreCombo.GroupBy(i => i).Where(g => g.Count() > 1))
            Console.WriteLine("Repeat: " + repeat.Key + " (" + repeat.Count() + ")");
	}
}