Home - Programmieren - .Net - C# - Arrays in C#
Hinweis: Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich. Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren. [Druckansicht] [Als E-Mail senden] [Kommentar verfassen] Deklaration Anders als in allen von C abgeleiteten Sprachen werden in C# die Eckklammernnach dem Datentyp geschrieben: C Schreibweise: Datentyp Variablenname[]; int meinArray[15];C# Schreibweise: Datentyp[] Variablenname; int[15] meinArray;Instantiierung Nun zeigt das C# Array noch ins Leere. Auch hier muss man eine neue Instanz (wie bei den Objekten) erstellen: Datentyp[] Variablenname = new Datentyp[]; int[] meinArray = new int[15];Initialisierung Ein Array kann in C# auch gleich bei der Instantiierung initialisiert werden. Dazu hängt man einfach in geschweiften Klammern eine Wertauflistung an: Datentyp[] Variablenname = new Datentyp[]{wert1, ..., wertn}; int[] meinArray = new int[15]{1, 2, 3};Es gibt auch eine Kurzform der ganzen drei Schritte (deklarieren, instantiieren und initialisieren): Datentyp[] Variablenname = {wert1, ..., wertn};Zugriff auf Arrayelemente Zugriff auf einzelne Elemente Der Arrayzugriff erfolgt in C# wie in C: Array[index] = Wert; meinArray[5] = (int)16;Auch in C# beginnt jedes Array mit dem Index 0. Der höchstmögliche Index ist die Zahl, die man bei der Deklarierung in die Eckklammern schreibt minus 1. Obergrenze feststellen Der untere Index eines C# Arrays ist immer 0. Den oberen findet man mit der "Length"-Eigenschaft des Arrays heraus. int[] meinArray = new int[5]; int x = (int)meinArray.Length;x wird nun den Wert 5 besitzen. Zugriff mittels Schleifen Der Arrayzugriff mittels Schleife funktioniert genau gleich wie der Zugriff auf einzelne Elemente, nur, dass der Index bei jedem Durchlauf neu berechnet wird. Mehrdimensionale Arrays Syntax Ein C# Array kann mehrere Dimensionen haben. Um ein mehrdimensionales Array zu deklarieren, werden in C# bei der Deklarierung Kommas in die Eckklammern gesetzt. int[ , ] meinArray = newint[18, 15];Pro Dimension über eins, muss ein Komma in den Eckklammern stehen. Bei einem zweidimensionalen Array stellt die erste Zahl die Anzahl der Spalten dar, die zweite Zahl steht für die Zeilen (oder auch gerade umgekehrt). Zugriff Für den Zugriff eines mehrdimensionales Array muss man zwei Indexe angeben. meinArray[8, 3] = (int)15;Dimensionsgrenze ermitteln Die "GetLength"-Methode des Arrays gibt die Obergrenze für eine beliebige Dimension zurück. Welche Dimension man prüfen will, übergibt man der Methode als Argument. meinArray.GetLength(0); /*gibt die Obergrenze der ersten Dimension zurück*/Initialisierung bei der Instantiierung Auch ein mehrdimensionales Array kann bei der Instantiierung gleich deklariert werden. Dazu werden die geschweiften Klammern verschachtelt. int[, ] Zahlen = {{5, 6}, {7, 12}};Zuweisen von Arrays Ein Array stellt in C# eine Referenz dar. Bei der Zuweisung eines Arrays auf ein bisheriges, wird dieses nicht kopiert, es zeigen nun einfach beide Arrays auf die gleichen Werte. Zum Kopieren eines Arrays steht die "Clone"-Methode zur Verfügung. Array löschen Ein Array kann nicht direkt gelöscht werden, es kann nur mit null referenziert werden. meinArray = null;Das Array zeigt nun ins leere. Der Garbage-Collector von .net sorgt nun dafür, dass die nicht referenzierten Speicherstellen wieder freigegeben werden. Array-Dimension ändern In C# stellt jedes Array einen Zeiger auf bestimmte Speicherzellen zu. Um den Aufbau eines Arrays zu ändern, kann man es einfach auf ein neues Array referenzieren.
|
![]() ![]() ![]()
Autoren:04516
Artikel:00815 Glossar:04116 News:13565 Userbeiträge:16552 Queueeinträge:06254 ![]()
Projektsteuerung statt Anwesenheitskontrolle
MONDroid - your monitoring Solution for Android with PRTG-Support Red-Hosting jetzt mit erweitertem Shop-Webhosting-Angebot [Mehr News] ![]()
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
|