C# Array
, ..., numbers
Das Deklarieren einer Array-Variable deklariert nicht einzelne Variablen nacheinander wie number0, number1, ..., number99; stattdessen deklariert man eine Variable wie numbers und verwendet dann numbers
Alle Arrays bestehen aus zusammenhängenden Speicherstellen. Die niedrigste Adresse entspricht dem ersten Element, und die höchste Adresse entspricht dem letzten Element.
Arrays deklarieren
In C# können Sie ein Array mit der folgenden Syntax deklarieren:
datatype[] arrayName;
wobei,
- datatypeWird verwendet, um den Typ der im Array gespeicherten Elemente anzugeben.
- [ ]Gibt den Rang (die Dimension) des Arrays an. Der Rang gibt die Größe des Arrays an.
- arrayNameGibt den Namen des Arrays an.
Zum Beispiel:
double[] balance;
Arrays initialisieren
Das Deklarieren eines Arrays initialisiert das Array nicht im Speicher. Wenn Sie eine Array-Variable initialisieren, können Sie dem Array Werte zuweisen.
Arrays sind Verweistypen, daher müssen SienewSchlüsselwort verwenden, um eine Instanz eines Arrays zu erstellen.
Zum Beispiel:
double[] balance = new double[10];
Zuweisung zum Array
Sie können einem einzelnen Array-Element einen Wert zuweisen, indem Sie die Indexnummer verwenden, zum Beispiel:
double[] balance = new double[10]; balance[0] = 4500.0;
Sie können dem Array Werte zuweisen, während Sie das Array deklarieren, zum Beispiel:
double[] balance = { 2340.0, 4523.69, 3421.0};
Sie können auch ein Array erstellen und initialisieren, zum Beispiel:
int [] marks = new int[5] { 99, 98, 92, 97, 95};
In den oben genannten Fällen können Sie auch die Größe des Arrays weglassen, zum Beispiel:
int [] marks = new int[] { 99, 98, 92, 97, 95};
Sie können auch eine Array-Variable einer anderen Ziel-Array-Variablen zuweisen. In diesem Fall zeigen das Ziel und die Quelle auf denselben Speicherort:
int [] marks = new int[] { 99, 98, 92, 97, 95};
int[] score = marks;
Wenn Sie ein Array erstellen, initialisiert der C#-Compiler jedes Array-Element implizit mit einem Standardwert, der auf dem Array-Typ basiert. Beispielsweise werden alle Elemente eines int-Arrays mit 0 initialisiert.
Zugriff auf Array-Elemente
Auf Elemente wird über einen indizierten Arraynamen zugegriffen. Dazu wird der Index des Elements in eckigen Klammern nach dem Arraynamen platziert. Zum Beispiel:
double salary = balance[9];
Nachfolgend finden Sie ein Beispiel, das die drei oben genannten Konzepte verwendet, nämlich das Deklarieren, Zuweisen und Zugreifen auf Arrays:
Beispiel
namespace ArrayApplication
{
class MyArray
{
static void Main(string[] args)
{
int [] n = new int[10]; /* n ist ein Array mit 10 Ganzzahlen */
int i,j;
/* Elemente im Array n initialisieren */
for ( i = 0; i < 10; i++ )
{
n[ i ] = i + 100;
}
/* den Wert jedes Array-Elements ausgeben */
for (j = 0; j < 10; j++ )
{
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}
Console.ReadKey();
}
}
}
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis:
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
VerwendungforeachSchleifen
Im vorherigen Beispiel haben wir eine for-Schleife verwendet, um auf jedes Array-Element zuzugreifen. Sie können auch eine foreachAnweisung verwenden, um ein Array zu durchlaufen.
Das folgende Beispiel verwendet foreach, um ein Array zu durchlaufen:
Beispiel
namespace ArrayApplication
{
class MyArray
{
static void Main(string[] args)
{
int [] n = new int[10]; /* n ist ein Array mit 10 Ganzzahlen */
/* Elemente im Array n initialisieren */
for ( int i = 0; i < 10; i++ )
{
n[i] = i + 100;
}
/* den Wert jedes Array-Elements ausgeben */
foreach (int j in n )
{
int i = j-100;
Console.WriteLine("Element[{0}] = {1}", i, j);
}
Console.ReadKey();
}
}
}
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis:
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
C#-Array-Details
In C# sind Arrays sehr wichtig, und es gibt weitere Details, die Sie verstehen müssen. Im Folgenden sind einige wichtige arraybezogene Konzepte aufgeführt, die C#-Programmierer klar verstehen müssen:
| Konzepte | Beschreibung |
|---|---|
| Mehrdimensionale Arrays | C# unterstützt mehrdimensionale Arrays. Die einfachste Form eines mehrdimensionalen Arrays ist das zweidimensionale Array. |
| Verzweigtes Array | C# unterstützt verzweigte Arrays, also Arrays von Arrays. |
| Arrays an Funktionen übergeben | Sie können einen Zeiger auf ein Array an eine Funktion übergeben, indem Sie den Array-Namen ohne Index angeben. |
| Parameterarray | Dies wird häufig verwendet, um eine unbekannte Anzahl von Parametern an eine Funktion zu übergeben. |
| Array-Klasse | Im System-Namespace definiert, ist es die Basisklasse für alle Arrays und bietet verschiedene Eigenschaften und Methoden für Arrays. |