Per Mausklick bewerten und Feedback geben
MSDN
MSDN Library
Visual Studio 2008
Visual Studio
Visual C#
C#-Referenz
C#-Operatoren
 Operator []
Alle reduzieren/Alle erweitern Alle reduzieren
Diese Seite ist spezifisch für
Microsoft Visual Studio 2008/.NET Framework 3.5

Andere Versionen stehen ebenfalls zur Verfügung für:
C#-Sprachreferenz
Operator [] (C#-Referenz)

Aktualisiert: November 2007

Eckige Klammern ([]) werden für Arrays, Indexer und Attribute verwendet. Sie können auch mit Zeigern verwendet werden.

Ein Arraytyp ist ein Typ, auf den [] folgen.

C#
int[] fib; // fib is of type int[], "array of int".
fib = new int[100]; // Create a 100-element int array.

Um auf ein Element eines Arrays zuzugreifen, wird der Index des gewünschten Elements in eckige Klammern eingeschlossen:

C#
fib[0] = fib[1] = 1;
for (int i = 2; i < 100; ++i) fib[i] = fib[i - 1] + fib[i - 2];

Eine Ausnahme wird ausgelöst, wenn sich ein Arrayindex außerhalb des gültigen Bereichs befindet.

Der Arrayindizierungsoperator kann nicht überladen werden. Typen können jedoch Indexer und Eigenschaften definieren, die mindestens einen Parameter aufweisen. Indexerparameter werden so wie Arrayindizes in eckige Klammern eingeschlossen. Indexerparameter können aber als beliebiger Typ deklariert werden, während Arrayindizes immer ganzzahlig sein müssen.

.NET Framework definiert z. B. einen Hashtable-Typ, der Schlüssel und Werte beliebigen Typs verknüpft:

C#
System.Collections.Hashtable h = new System.Collections.Hashtable();
h["a"] = 123; // Note: using a string as the index.

Eckige Klammern werden auch verwendet, um Attribute (C#-Programmierhandbuch) anzugeben:

C#
// using System.Diagnostics;
[Conditional("DEBUG")] 
void TraceMethod() {}

Sie können eckige Klammern verwenden, um die Indizierung eines Zeigers aufzuheben:

C#
unsafe void M()
{
    int[] nums = {0,1,2,3,4,5};
    fixed ( int* p = nums )
    {
        p[0] = p[1] = 1;
        for( int i=2; i<100; ++i ) p[i] = p[i-1] + p[i-2];
    }
}

Es wird keine Überprüfung der Grenzen durchgeführt.

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

  • 1.6.7.5 Operatoren

  • 7.2 Operatoren

Communityinhalt   Was ist Community Content?
Neuen Inhalt hinzufügen RSS  Anmerkungen
Processing
© 2012 Microsoft. Alle Rechte vorbehalten. Nutzungsbedingungen | Markenzeichen | Informationen zur Datensicherheit
Page view tracker