(0) exportieren Drucken
Alle erweitern

Indexer (C#-Programmierhandbuch)

Indexer ermöglichen das Indizieren von Instanzen einer Klasse oder Struktur auf dieselbe Weise wie Arrays. Abgesehen davon, dass ihre Accessoren Parameter akzeptieren, sind Indexer mit Eigenschaften vergleichbar.

Im folgenden Beispiel wird eine generische Klasse definiert, die mit einfachen get-Accessormethoden und set-Accessormethoden ausgestattet ist. Mit diesen Methoden werden Werte zugewiesen und abgerufen. Die Klasse Program erstellt eine Instanz dieser Klasse für das Speichern von Zeichenfolgen.

class SampleCollection<T>
{
    private T[] arr = new T[100];
    public T this[int i]
    {
        get
        {
            return arr[i];
        }
        set
        {
            arr[i] = value;
        }
    }
}

// This class shows how client code uses the indexer
class Program
{
    static void Main(string[] args)
    {
        SampleCollection<string> stringCollection = new SampleCollection<string>();
        stringCollection[0] = "Hello, World";
        System.Console.WriteLine(stringCollection[0]);
    }
}

  • Mit Indexern können Objekte auf eine ähnliche Weise wie Arrays indiziert werden.

  • Ein get-Accessor gibt einen Wert zurück. Ein set-Accessor weist einen Wert zu.

  • Das this-Schlüsselwort wird zum Definieren der Indexer verwendet.

  • Mithilfe des value-Schlüsselworts wird der Wert definiert, der vom set-Indexer zugewiesen wird.

  • Indexer müssen nicht mit ganzzahligen Werten indiziert werden. Sie können frei wählen, wie Sie den bestimmten Suchmechanismus definieren.

  • Indexer können überladen werden.

  • Indexer können mehr als einen formalen Parameter haben, z. B. wenn auf ein zweidimensionales Array zugegriffen wird.

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:

  • 1.6.6.3 Indexer

  • 10.2.7.3 Für Indexer reservierte Membernamen

  • 10.8 Indexer

  • 13.2.4 Schnittstellenindexer

Anzeigen:
© 2014 Microsoft