Arrays in C#

Dec 16, 2016 pm 02:14 PM
c#-Array

Array-Übersicht
Ein Array ist eine Datenstruktur, die mehrere Variablen desselben Typs enthält. Arrays werden mithilfe von Typen deklariert:
Arrays haben die folgenden Eigenschaften:

Arrays können eindimensional, mehrdimensional oder verschachtelt sein.

Numerische Array-Elemente haben ihren Standardwert auf Null gesetzt, während Referenzelemente ihren Standardwert auf Null gesetzt haben.

Ein Jagged-Array ist ein Array von Arrays, daher sind seine Elemente Referenztypen, die mit Null initialisiert werden.

Arrays werden von Null an indiziert: Ein Array mit n Elementen wird von 0 bis n-1 indiziert.

Array-Elemente können von jedem Typ sein, einschließlich Array-Typen.

Array-Typen sind Referenztypen, die vom abstrakten Basistyp Array abgeleitet sind. Da dieser Typ IEnumerable und IEnumerable implementiert, können Sie foreach-Iteration für alle Arrays in C# verwenden.

C#-Arrays werden bei Null indiziert, d. h. der Array-Index beginnt bei Null. Arrays funktionieren in C# ähnlich wie in den meisten anderen gängigen Sprachen. Es gibt jedoch einige Unterschiede, die beachtet werden sollten.
Bei der Deklaration eines Arrays müssen eckige Klammern ([]) auf den Typ und nicht auf den Bezeichner folgen. In C# ist es eine illegale Syntax, eckige Klammern nach einem Bezeichner zu setzen.

int[] table; // not int table[];
Nach dem Login kopieren

Ein weiteres Detail ist, dass die Größe eines Arrays nicht Teil seines Typs ist. Sie können ein Array deklarieren und ihm ein beliebiges Array von int-Objekten zuweisen, unabhängig von der Array-Länge.

int[] numbers; // declare numbers as an int array of any size
numbers = new int[10];  // numbers is a 10-element array
numbers = new int[20];  // now it's a 20-element array
Nach dem Login kopieren

Arrays deklarieren
C# unterstützt eindimensionale Arrays, mehrdimensionale Arrays (rechteckige Arrays) und Arrays von Arrays (verschachtelte Arrays). Das folgende Beispiel zeigt, wie verschiedene Arten von Arrays deklariert werden:
Eindimensionales Array:

int[] numbers;
Nach dem Login kopieren

Mehrdimensionales Array:

string[,] names;
Nach dem Login kopieren

Array von Arrays (verschachtelt):

byte[][] scores;
Nach dem Login kopieren

Durch die Deklaration von Arrays (siehe oben) werden diese nicht tatsächlich erstellt.

In C# sind Arrays Objekte und müssen instanziiert werden. Das folgende Beispiel zeigt, wie ein Array erstellt wird:
Eindimensionales Array:

int[] numbers = new int[5];
Nach dem Login kopieren

Mehrdimensionales Array:

string[,] names = new string[5,4];
Nach dem Login kopieren

Array von Arrays (verschachtelt):

byte[][] scores = new byte[5][];
for (int x = 0; x < scores.Length; x++) 
{
   scores[x] = new byte[4];
}
Nach dem Login kopieren

Auch große Arrays sind möglich. Sie können beispielsweise dreidimensionale rechteckige Arrays haben:

int[,,] buttons = new int[4,5,3];
Nach dem Login kopieren

Sie können sogar rechteckige Arrays und gezackte Arrays mischen. Der folgende Code deklariert beispielsweise ein eindimensionales Array aus einem zweidimensionalen Array vom Typ int und einem dreidimensionalen Array vom Typ.

int[][,,][,] numbers;
Nach dem Login kopieren

Das Initialisieren eines Arrays
bietet eine einfache und unkomplizierte Möglichkeit, ein Array zum Zeitpunkt der Deklaration zu initialisieren, indem der Anfangswert in geschweifte Klammern ({}) eingeschlossen wird. Die folgenden Beispiele zeigen verschiedene Möglichkeiten, Arrays unterschiedlicher Typen zu initialisieren.
Hinweis: Wenn das Array bei der Deklaration nicht initialisiert wird, werden die Array-Mitglieder automatisch auf den Standardanfangswert des Array-Typs initialisiert. Wenn ein Array außerdem als Feld eines Typs deklariert ist, wird es bei der Instanziierung des Typs auf den Standardwert Null gesetzt.
Eindimensionale Arrays

int[] numbers = new int[5] {1, 2, 3, 4, 5};
string[] names = new string[3] {"Matt", "Joanne", "Robert"};
Nach dem Login kopieren

Die Größe des Arrays kann wie folgt weggelassen werden:

int[] numbers = new int[] {1, 2, 3, 4, 5};
string[] names = new string[] {"Matt", "Joanne", "Robert"};
Nach dem Login kopieren

Wenn ein Initialisierer bereitgestellt wird, kann der neue Operator auch weggelassen werden , wie unten gezeigt:

int[] numbers = {1, 2, 3, 4, 5};
string[] names = {"Matt", "Joanne", "Robert"};
Nach dem Login kopieren

Mehrdimensionales Array

int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert"} };
Nach dem Login kopieren

Die Größe des Arrays kann weggelassen werden, wie unten gezeigt:

int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Albert"} };
Nach dem Login kopieren

If Wird ein Anfangswert bereitgestellt, können Sie den neuen Operator auch weglassen, wie unten gezeigt:

int[,] numbers = { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = { {"Mike", "Amy"}, {"Mary", "Albert"} };
Nach dem Login kopieren

Interleaved Array (Array von Arrays)
Sie können ein interleaved Array wie im folgenden Beispiel gezeigt initialisieren:

int[][] numbers = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
Nach dem Login kopieren

Die Größe des ersten Arrays kann wie folgt weggelassen werden:

int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
Nach dem Login kopieren

- oder -

int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
Nach dem Login kopieren

Beachten Sie, dass keine Initialisierung von erfolgt die Elemente einer Jagged-Array-Grammatik.

Zugriff auf Array-Mitglieder
Der Zugriff auf Array-Mitglieder kann direkt erfolgen. Der folgende Code erstellt beispielsweise ein Array mit dem Namen „Numbers“ und weist dann 5 dem fünften Element des Arrays zu. :

int[] numbers = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
numbers[4] = 5;
Nach dem Login kopieren

Der folgende Code deklariert ein mehrdimensionales Array und weist dem Mitglied an [1, 1] den Wert 5 zu:

int[,] numbers = { {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10} };
numbers[1, 1] = 5;
Nach dem Login kopieren

Der folgende Code deklariert ein eindimensionales gezacktes Array Array, das zwei Elemente enthält. Das erste Element ist ein Array aus zwei Ganzzahlen und das zweite Element ist ein Array aus drei Ganzzahlen:

int[][] numbers = new int[][] { new int[] {1, 2}, new int[] {3, 4, 5}};
Nach dem Login kopieren

Die folgende Anweisung weist dem ersten Element des ersten Arrays 58 und dem ersten 58 zu Element des ersten Arrays. Dem zweiten Element der beiden Arrays wird 667 zugewiesen:

numbers[0][0] = 58;
numbers[1][1] = 667;
Nach dem Login kopieren

Arrays sind Objekte. In C# sind Arrays eigentlich Objekte. System.Array ist der abstrakte Basistyp für alle Array-Typen. Sie können die Eigenschaften von System.Array sowie andere Klassenmitglieder verwenden. Ein Beispiel für diese Verwendung ist die Verwendung der Eigenschaft „Länge“, um die Länge eines Arrays abzurufen. Der folgende Code weist die Länge des Zahlenarrays (die 5 beträgt) einer Variablen namens „LengthOfNumbers“ zu:

int[] numbers = {1, 2, 3, 4, 5};
int LengthOfNumbers = numbers.Length;
Nach dem Login kopieren

Die System.Array-Klasse bietet viele nützliche andere Methoden/Eigenschaften, beispielsweise zum Sortieren, Suchen und Kopieren Array-Methoden.

Verwenden Sie foreach für Arrays
C# stellt auch die foreach-Anweisung bereit. Diese Anweisung bietet eine einfache und klare Möglichkeit, die Elemente eines Arrays zu durchlaufen.
Zum Beispiel erstellt der folgende Code ein Array mit dem Namen „numbers“ und iteriert über das Array mithilfe einer foreach-Anweisung:

int[] numbers = {4, 5, 6, 1, 2, 3, -2, -1, 0};
foreach (int i in numbers)
{
   System.Console.WriteLine(i);
}
Nach dem Login kopieren

Dank mehrdimensionaler Arrays können Sie dieselbe Methode verwenden, um über die Elemente zu iterieren. zum Beispiel:

int[,] numbers = new int[3, 2] {{9, 99}, {3, 33}, {5, 55}};
foreach(int i in numbers)
{
   Console.Write("{0} ", i);
}
Nach dem Login kopieren

Die Ausgabe dieses Beispiels ist:

9 99 3 33 5 55
Nach dem Login kopieren

Dank mehrdimensionaler Arrays erhalten Sie jedoch durch die Verwendung verschachtelter for-Schleifen eine bessere Kontrolle über die Array-Elemente.


Weitere Artikel zu Arrays in C# finden Sie auf der chinesischen PHP-Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie char Array in C -Sprache So verwenden Sie char Array in C -Sprache Apr 03, 2025 pm 03:24 PM

Das Char -Array speichert Zeichensequenzen in der C -Sprache und wird als char Array_name [Größe] deklariert. Das Zugriffselement wird durch den Einweisoperator weitergeleitet, und das Element endet mit dem Null -Terminator '\ 0', der den Endpunkt der Zeichenfolge darstellt. Die C -Sprache bietet eine Vielzahl von String -Manipulationsfunktionen wie Strlen (), Strcpy (), Strcat () und strcmp ().

Wie man verschiedene Symbole in der C -Sprache verwendet Wie man verschiedene Symbole in der C -Sprache verwendet Apr 03, 2025 pm 04:48 PM

Die Nutzungsmethoden von Symbolen in der C-Sprachabdeckung Arithmetik, Zuordnung, Bedingungen, Logik, Bitoperatoren usw. werden für grundlegende mathematische Operationen verwendet, Zuordnungsoperatoren werden zur Zuordnung und Addition verwendet, Subtraktion, Multiplikationszuordnung und Abteilungszuweisung, Zustandsbetreiber werden für Unterschiede verwendet. Logische Operationen werden verwendet. Logische Operationen werden verwendet. Logische Operationen werden verwendet. Zeiger, Markierungen am Ende der Datei und nicht numerische Werte.

Was ist die Rolle von CHAR in C -Saiten? Was ist die Rolle von CHAR in C -Saiten? Apr 03, 2025 pm 03:15 PM

In C wird der Zeichenentyp in Saiten verwendet: 1. Speichern Sie ein einzelnes Zeichen; 2. Verwenden Sie ein Array, um eine Zeichenfolge darzustellen und mit einem Null -Terminator zu enden. 3. Durch eine Saitenbetriebsfunktion arbeiten; 4. Lesen oder geben Sie eine Zeichenfolge von der Tastatur aus.

Wie man mit Sonderfiguren in der C -Sprache umgeht Wie man mit Sonderfiguren in der C -Sprache umgeht Apr 03, 2025 pm 03:18 PM

In der C -Sprache werden Sonderzeichen durch Escape -Sequenzen verarbeitet, wie z. B.: \ n repräsentiert Linienbrüche. \ t bedeutet tab charakter. Verwenden Sie Escape -Sequenzen oder Zeichenkonstanten, um Sonderzeichen darzustellen, wie z. B. char c = '\ n'. Beachten Sie, dass der Backslash zweimal entkommen muss. Verschiedene Plattformen und Compiler haben möglicherweise unterschiedliche Fluchtsequenzen. Bitte wenden Sie sich an die Dokumentation.

Wie man CHO in C -Sprache umwandelt Wie man CHO in C -Sprache umwandelt Apr 03, 2025 pm 03:21 PM

In der C -Sprache kann die char -Typ -Konvertierung direkt in einen anderen Typ konvertiert werden, wenn: Casting: Verwenden von Casting -Zeichen. Automatische Konvertierung des Typs: Wenn ein Datentyp einen anderen Werttyp berücksichtigen kann, wandelt der Compiler diese automatisch um.

Vermeiden Sie in C -Switch -Anweisungen standardmäßige Fehler Vermeiden Sie in C -Switch -Anweisungen standardmäßige Fehler Apr 03, 2025 pm 03:45 PM

Eine Strategie zur Vermeidung von Fehlern, die in C -Switch -Anweisungen standardmäßig verursacht wurden: Verwenden Sie die Umgebungen anstelle von Konstanten, wodurch der Wert der Fallerklärung auf ein gültiges Mitglied des Enum beschränkt wird. Verwenden Sie in der letzten Fallanweisung Falsch, um das Programm weiterhin den folgenden Code auszuführen. Fügen Sie für Switch -Anweisungen ohne Falle immer eine Standardanweisung für die Fehlerbehandlung hinzu oder geben Sie das Standardverhalten an.

Was ist die Funktion der C -Sprachsumme? Was ist die Funktion der C -Sprachsumme? Apr 03, 2025 pm 02:21 PM

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

Der Unterschied zwischen Multithreading und asynchronem C# Der Unterschied zwischen Multithreading und asynchronem C# Apr 03, 2025 pm 02:57 PM

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

See all articles