Search
Close this search box.
Mehrdimensionale Arrays in C#

Alles, was du über mehrdimensionale Arrays in C# wissen musst

Mehrdimensionale Arrays sind in C# eine wichtige Funktion, die es ermöglicht, eine Sammlung von Elementen mit mehreren Dimensionen in einer einzigen Variablen zu speichern. In diesem Artikel werden wir uns näher mit mehrdimensionalen Arrays in C# befassen und wie sie verwendet werden können, um effektiv und effizient zu programmieren.

Was sind mehrdimensionale Arrays? Ein mehrdimensionales Array ist eine erweiterte Form des eindimensionalen Arrays, bei dem die Elemente in mehreren Dimensionen angeordnet sind. Im Gegensatz zum eindimensionalen Array, das nur eine Dimension hat, kann ein mehrdimensionales Array eine beliebige Anzahl von Dimensionen haben. In C# gibt es zwei Arten von mehrdimensionalen Arrays: das rechteckige Array und das unregelmäßige Array.

Deklaration und Initialisierung von mehrdimensionalen Arrays: Die Deklaration eines mehrdimensionalen Arrays erfolgt ähnlich wie bei einem eindimensionalen Array, wobei die Größe für jede Dimension innerhalb eines Paars von eckigen Klammern definiert wird. Zum Beispiel sieht die Deklaration eines rechteckigen Arrays mit 3 Zeilen und 4 Spalten wie folgt aus:

				
					int[,] array = new int[3,4];
				
			

Das Array kann auch direkt bei der Deklaration initialisiert werden. Zum Beispiel sieht die Deklaration und Initialisierung eines rechteckigen Arrays mit 2 Zeilen und 2 Spalten wie folgt aus:

				
					int[,] array = { {1, 2}, {3, 4} };
				
			

Zugriff auf Array-Elemente: Auf ein Element in einem mehrdimensionalen Array kann zugegriffen werden, indem der Index für jede Dimension innerhalb der eckigen Klammern angegeben wird. Zum Beispiel wird auf das Element in der zweiten Zeile und dritten Spalte eines rechteckigen Arrays wie folgt zugegriffen:

				
					int element = array[1,2];
				
			

Iterieren durch mehrdimensionale Arrays: Eine verschachtelte Schleife kann verwendet werden, um durch alle Elemente in einem mehrdimensionalen Array zu iterieren. Zum Beispiel sieht eine verschachtelte Schleife für ein rechteckiges Array mit 3 Zeilen und 4 Spalten wie folgt aus:

				
					for (int i = 0; i < 3; i++)
{
    for (int j = 0; j < 4; j++)
    {
        Console.WriteLine(array[i,j]);
    }
}
				
			

Verwendung von mehrdimensionalen Arrays in Methoden: Mehrdimensionale Arrays können als Parameter an Methoden übergeben und von Methoden zurückgegeben werden. Zum Beispiel sieht eine Methode, die die Summe aller Elemente in einem rechteckigen Array berechnet, wie folgt aus:

				
					public int Summe(int[,] array)
{
    int summe = 0;
    for (int i = 0; i < array.GetLength(0); i++)
    {
        for (int j = 0; j < array.GetLength(1); j++)
        {
            summe += array[i,j];
        }
    }
return summe;
}
				
			

Hier sind noch drei weitere Beispiele für die Verwendung von mehrdimensionalen Arrays in C#:

  1. Tic Tac Toe Spielbrett Ein Tic Tac Toe Spielbrett lässt sich als zweidimensionales Array darstellen. Jedes Feld im Spielbrett wird durch eine Position in dem Array repräsentiert. Hier ist ein Beispiel für die Initialisierung eines leeren Tic Tac Toe Spielbretts:
				
					char[,] spielbrett = new char[3,3];
for (int i = 0; i < 3; i++)
{
    for (int j = 0; j < 3; j++)
    {
        spielbrett[i,j] = '-';
    }
}
				
			

In diesem Beispiel wird ein zweidimensionales Array erstellt, das aus 3 Zeilen und 3 Spalten besteht. Die for-Schleifen werden verwendet, um das gesamte Spielbrett zu durchlaufen und jedes Feld auf den Wert ‚-‚ zu setzen.

  1. Matrizenmultiplikation Matrizen können als zweidimensionale Arrays dargestellt werden und können mithilfe von mehrdimensionalen Arrays in C# multipliziert werden. Hier ist ein Beispiel für die Multiplikation zweier Matrizen:
				
					int[,] matrixA = {{1, 2}, {3, 4}};
int[,] matrixB = {{5, 6}, {7, 8}};
int[,] ergebnis = new int[2,2];

for (int i = 0; i < 2; i++)
{
    for (int j = 0; j < 2; j++)
    {
        for (int k = 0; k < 2; k++)
        {
            ergebnis[i,j] += matrixA[i,k] * matrixB[k,j];
        }
    }
}
				
			

In diesem Beispiel werden zwei zweidimensionale Arrays erstellt, matrixA und matrixB, und eine weitere zweidimensionale Array ergebnis. Die for-Schleifen werden verwendet, um die Matrizen zu durchlaufen und die Multiplikation durchzuführen.

  1. Kubisches Array Ein kubisches Array kann als dreidimensionales Array dargestellt werden. Hier ist ein Beispiel für die Initialisierung eines kubischen Arrays:
				
					int[,,] kubischesArray = new int[3,3,3];
for (int i = 0; i < 3; i++)
{
    for (int j = 0; j < 3; j++)
    {
        for (int k = 0; k < 3; k++)
        {
            kubischesArray[i,j,k] = i * j * k;
        }
    }
}
				
			

In diesem Beispiel wird ein dreidimensionales Array erstellt, das aus 3 Schichten, 3 Zeilen und 3 Spalten besteht. Die for-Schleifen werden verwendet, um das gesamte kubische Array zu durchlaufen und jeden Wert als das Produkt der Schicht, der Zeile und der Spalte zu setzen.

Mehrdimensionale Arrays bieten eine flexible Möglichkeit, um komplexe Datenstrukturen in C# zu speichern und zu verarbeiten. Sie können in vielen verschiedenen Anwendungsfällen eingesetzt werden, wie z.B. in Spielen, mathematischen Berechnungen und Datenanalysen.

Verwendung von unregelmäßigen Arrays: Ein unregelmäßiges Array ist ein mehrdimensionales Array, bei dem die Dimensionen unterschiedliche Größen haben können.

Aufgabe:

Aufgabe zum Mitmachen:

Erstelle ein rechteckiges Array mit 2 Zeilen und 3 Spalten, in dem du die Zahlen 1 bis 6 speicherst. Gib dann die Elemente des Arrays mithilfe einer verschachtelten for-Schleife aus.

Um die Lösung anzuzeigen, fahre mit der Maus in die Mitte des darunterliegenden Fensters.

				
					using System;

class Program {
    static void Main(string[] args) {
    
    int[,] array = new int[2,3]{{1,2,3}, {4,5,6}};
    
    for (int i = 0; i < 2; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            Console.Write(array[i,j] + " ");
        }
        Console.WriteLine();
    }
}

				
			
Zurück zum vorherigen Teil des C# Kurses
Klicken Sie auf den Pfeil, um zum vorherigen Teil des Kurses zurückzukehren
Pfeil-Button zum nächsten Teil des Kurses
Klicken Sie auf den Pfeil, um zum nächsten Teil des Kurses zu gelangen
Datenschutz
Ich, Marco Lindner (Wohnort: Deutschland), verarbeite zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in meiner Datenschutzerklärung.
Datenschutz
Ich, Marco Lindner (Wohnort: Deutschland), verarbeite zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in meiner Datenschutzerklärung.