Udostępnij za pośrednictwem


Indeksatory (Przewodnik programowania w języku C#)

Indeksatory pozwalają wystąpienia klasy lub struct mają być indeksowane tak jak tablice.Indeksatory przypominają Właściwości z tym, że ich akcesorów mają parametrów.

W poniższym przykładzie klasą rodzajową jest zdefiniowana i dostarczane z prostego się i zestaw metod typu accessor jako sposób przypisywania i pobieranie wartości.Program Klasy tworzy instancję tej klasy do przechowywania ciągów.

class SampleCollection<T>
{
    // Declare an array to store the data elements. 
    private T[] arr = new T[100];

    // Define the indexer, which will allow client code 
    // to use [] notation on the class instance itself. 
    // (See line 2 of code in Main below.)         
    public T this[int i]
    {
        get
        {
            // This indexer is very simple, and just returns or sets 
            // the corresponding element from the internal array. 
            return arr[i];
        }
        set
        {
            arr[i] = value;
        }
    }
}

// This class shows how client code uses the indexer. 
class Program
{
    static void Main(string[] args)
    {
        // Declare an instance of the SampleCollection type.
        SampleCollection<string> stringCollection = new SampleCollection<string>();

        // Use [] notation on the type.
        stringCollection[0] = "Hello, World";
        System.Console.WriteLine(stringCollection[0]);
    }
}
// Output: 
// Hello, World.

[!UWAGA]

Aby uzyskać więcej przykładów, zobacz Sekcje pokrewne.

Omówienie indeksatory

  • Indeksatory włączyć obiekty mają być indeksowane w sposób podobny do tablic.

  • A get akcesora zwraca wartość.A set metoda dostępu przypisuje wartość.

  • To słowo kluczowe jest używana do definiowania ten indeksy.

  • Wartość słowo kluczowe jest używana do definiowania wartość jest przypisana przez set indeksatora.

  • Indeksatory nie muszą być indeksowane przez wartość całkowitą; To zależy od Ciebie jak definiować mechanizm wyszukiwania konkretnych.

  • Indeksatory mogą być przeciążone.

  • Indeksatory może mieć więcej niż jeden parametr formalnych, na przykład, podczas uzyskiwania dostępu do dwuwymiarowej tablicy.

Sekcje pokrewne

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.

Zobacz też

Informacje

Właściwości (Przewodnik programowania w języku C#)

Koncepcje

Przewodnik programowania w języku C#