C# Language Surcharger l'indexeur pour créer un SparseArray


Exemple

En surchargeant l'indexeur, vous pouvez créer une classe qui ressemble à un tableau, mais qui ne l'est pas. Il aura les méthodes get et set de O (1), pourra accéder à un élément à l'index 100, tout en ayant la taille des éléments qu'il contient. La classe SparseArray

class SparseArray
    {
        Dictionary<int, string> array = new Dictionary<int, string>();

        public string this[int i]
        {
            get
            {
                if(!array.ContainsKey(i))
                {
                    return null;
                }
                return array[i];
            }
            set
            {
                if(!array.ContainsKey(i))
                    array.Add(i, value);
            }
        }
    }