Zum Inhalt springen

Frage zu mehrdimensionalen Arrays...(C#)


Empfohlene Beiträge

Geschrieben

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

Geschrieben (bearbeitet)

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
Geschrieben
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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...