Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Frage zu mehrdimensionalen Arrays...(C#)

Empfohlene Antworten

Hallo,

ich bin gerade angefangen, mich mit einem Buch in C# (Visual Studio 2008) einzuarbeiten. Hierbei habe ich im Moment leider ein kleines Verständnisproblem, welches ich ungern einfach überspringen würde.

Es geht um ein dreidimensionales Array - hier der Ausschnitt aus dem Buch:

Diese Systematik setzt sich mit jeder weiteren Dimension fort. Beispielhaft sei das noch an einem dreidimensionalen Array gezeigt:

{{{Anzahl der Elemente der dritten Dimension}, { }, ...}, { }, ...}

Das folgende Codebeispiel zeigt anhand eines dreidimensionalen Arrays, dass die Initialisierung mit zunehmender Dimensionstiefe schon verhältnismäßig komplex und dazu auch noch schlecht lesbar ist:

int[,,] myArr = { { {1,2,3,4},{3,4,5,6},{6,7,8,9}},

{ {3,4,6,1},{6,19,3,4},{4,1,8,7}}

};

Das Array myArr entspricht einem Array myArr[2,3,4]. Es weist in der dritten Dimension vier Elemente auf, in der zweiten drei und in der ersten zwei.

Beim Zugriff auf ein mehrdimensionales Array muss man jede Dimension des entsprechenden Elements angeben. Beispielsweise schreibt die Anweisung

Console.WriteLine(myArr[1,1,1]);

die Zahl 19 in das Konsolenfenster.

Ich kann mir bei diesem Beispiel nicht richtig vorstellen, wie so ein Array mit 3 Dimensionen aufgebaut ist.

Bei 2 Dimensionen stelle ich mir das ganze als Tabelle mit Reihen und Spalten vor. Wie kann man sich das anhand des Beispiel's dreidimensional vorstellen...?

Quasi als eine Art Papierstapel? Die 2 Dimensionen sind als Tabelle auf dem obersten Blatt, und die 3. Dimension geht einfach nur in die Tiefe?

Vermutlich sehe ich einfach den Wald vor lauter Bäumen nicht - dennoch vielen Dank im Vorraus!

Gruß

AnDi_P

Man könnte es sich durchaus wie eine 3D-Tabelle vorstellen, in der jede Zelle in die Tiefe geht. Dann hätte man quasi einen Würfel, der in viele kleine Würfel zu je einem Wert unterteilt ist.

Aber 3- und Mehr-Dimensionale Arrays braucht man eher selten, würde ich sagen.

Grüße, JasonDelife.

Bearbeitet von JasonDelife
Typo

Bei 2 Dimensionen stelle ich mir das ganze als Tabelle mit Reihen und Spalten vor. Wie kann man sich das anhand des Beispiel's dreidimensional vorstellen...?

Quasi als eine Art Papierstapel? Die 2 Dimensionen sind als Tabelle auf dem obersten Blatt, und die 3. Dimension geht einfach nur in die Tiefe?

Papierstapel ist ein anschauliches Beispiel:

Du hast p Blätter mit jeweils einer Tabelle, diese hat c Spalten und r Zeilen.

Damit du nun einen Wert bekommst greifst du: Array[p][r][c] ab.

Wenn dann mehrere Tabellen t auf einer Seite sind, gibts sogar ein vierdimensionales/n Array: Array[p][t][r][c]

Eh man aber sowas macht, sollte man sich überlegen, ob Objekte da nicht besser wären.

Hallo,

vielen Dank für Eure beiden Antworten!

Lag ich wohl doch nicht so ganz falsch :)

Greetz

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.