Visual C# 2012 Grundkurs

Arrays

Testen Sie unsere 1983 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
In C# ist ein Array nicht nur eine Datenfläche, welche eine bestimmte Anzahl an Elementen beinhalten kann, sondern auch eine Klasse. Es besteht die Möglichkeit, mehrdimensionale Arrays zu erstellen.

Transkript

In diesem Abschnitt möchte ich mich mit Arrays in C# beschäftigen. Am besten schreibe ich mal einfach gleich ein Array hin, um zu zeigen, wie es geht. Das wird ein Integer Array sein. Und das initialisiere ich gleich einmal in einer bestimmten Länge. Sagen wir mal mit fünf Elementen. So, was steht da jetzt? Zunächst einmal steht hier der Typ. Das kann jeder beliebige Typ sein. Gefolgt von der eckigen Klammer auf und gleich wieder Klammer zu. Diese Kombination besagt, dass es sich um ein Array of Integer handelt so wird es gesprochen. Das ist der Name des Arrays und jetzt sage ich einfach: Diese Variable hier, Array, soll initialisiert werden mit einem Array mit fünf Integers. Jetzt kann ich auf das Array zugreifen, das werden wir auch tun. Ich schreibe jetzt hier mal eine Schleife hin, die läuft fünfmal durch und ich weise jedem Element aus dem Array mal seinen Index zu. Dabei können Sie schon mal sehen in .NET und damit auch in C# beginnen Arrays immer mit dem Index "0". Es gibt jetzt ein paar ganz schöne Sachen mit Arrays in .NET. So ein Array ist nämlich nicht einfach nur so eine Datenfläche, die eine bestimmte Anzahl an Elementen halten kann, sondern so ein Array ist gleichzeitig eine Klasse und hat damit auch Funktionalität. Das sieht man ganz schön, wenn man hier mal den IntelliSense anschaut, was es da alles Hübsches an Methoden und Funktionen gibt. Und eine ganz wunderbare Sache ist z.B. das "Property Length", will heißen: Ich kann diese Schleife hier so umformulieren, dass ich an der Stelle z.B. "array.length" schreibe. Dann würde der Code immer funktionieren, egal wie lang das Array ist. Das ist eine ganz wunderbare Geschichte. Und solche Arrays prüfen auch, was man mit Ihnen tut. Also wenn ich jetzt z.B. sowas hier hinschreiben würde; das kompiliert zwar, Sie sehen: "Build succeeded", aber wenn ich das laufen lasse, stellt das Array bei der Überprüfung her: Hoppla, hier wird versucht, einen Wert in diesem Array zu beschreiben, der außerhalb des Range liegt, also außerhalb der Größe, außerhalb der Datenfläche, die für das Array initialisiert worden ist. Und dafür kriege ich dann auch gleich eine Exception. Es ist schon eine sehr praktische Sache. Arrays können nicht nur eindimensional sein, Arrays können auch mehrdimensional sein. Das will ich gerade mal zeigen. Das hier ist jetzt ein zweidimensionales Array. Entsprechend erraten Sie wahrscheinlich, wie jetzt ein dreidimensionales Array aussieht. Und da ist es also jetzt wirklich so, dass die Lücken hier die Anzahl der Dimensionen ausmachen, wenn man es so will. Und nebst dieser Schreibweise für Arrays gibt es auch eine andere Schreibweise und die sieht so aus: Das wäre jetzt ein zweidimensionales Array. Solche Dinge, die funktionieren auch völlig anders als normale Arrays. Deswegen heißen die auch Jagged Arrays. Weil jetzt kann jede Dimension hier sein eigenes Array sein. Also wir haben das hier, ein Rechteck sozusagen ist eine rechteckige Array-Fläche, ist das hier ein Array von Integer Arrays. Und jedes Element in diesem Array ist für sich selber ein eigenes Integer Array, das eine unterschiedliche Länge haben kann. Und wenn man sich das bildlich ausmalt, dann kann das sowas gezahntes geben, sowas zackiges. Und genau das ist in diesem Wort "Jagged" gemeint. Das Ganze geht auch mehrdimensional. Jetzt wollen wir diese Arrays initialisieren. Also machen wir das mal so hier: Nehmen wir das mal hier alles weg und ich könnte jetzt das eindimensionale Array mit dem folgenden Ausdruck initialisieren. Diesen Ausdruck hier nennt man einen Array Initializer. Das ist eine praktische Sache, ich habe zwei geschweifte Klammern und schreibe in diese Klammern alle Elemente rein, die ich in diesem Array haben will. Das ist eine sehr wunderbare kurze Schreibweise. Da muss ich natürlich nicht irgendwelche Sequenzen einhalten, sondern das können x-beliebige Werte sein. Wenn ich auf die gleiche Weise jetzt ein zweidimensionales Array initialisieren wollte, dann kann ich das ähnlich machen. Nur, dass hier in dieser geschweiften Klammer jetzt für jede Dimension eine weitere geschweifte Klammer kommt. Jetzt kann ich die hier initialisieren, also irgendwie so, und die Länge muss natürlich jetzt hier gleich sein, weil wir es ja mit einem mehrdimensionalen Array zu tun haben, da muss also dann jede Dimension hier die gleiche Anzahl an Elementen haben. Wenn ich also jetzt hier irgendwas mehr eintragen würde, dann würde der Compiler an der Stelle meckern. Und wenn Sie die gleiche Länge haben, dann kompiliert das fehlerfrei. Jetzt möchte ich mal diese Jagged Arrays initialisieren, da muss ich also jetzt zuerst mal dieses äußere Array initialisieren. Also, es ist ja ein Array von Integer Arrays und deswegen sag ich: "Es ist ein Array mit der Länge drei von Integer Arrays." Und wenn ich jetzt das eine der beiden Gleichheitszeichen herausnehme, dann ist der Compiler über den Ausdruck auch happy. Das war jetzt die eine Dimension und jetzt kann ich sagen, "j2[0] = new int array" und jetzt kann ich wieder die ganzen Initialiser verwenden. Im Gegensatz zu dem Array, wo der Compiler gemeckert hat wegen der unterschiedlichen Länge, könnte ich jetzt hier z.B. einfach nur ein Array mit der Länge zwei einfügen. Und dann machen wir wieder etwas Längeres und wenn ich das kompiliere, dann hat der Compiler mit der ganzen Geschichte kein Problem. Jedes dieser Teilarrays kann unterschiedlich lang sein bei einem Jagged Array. Es fehlt hier noch die Initialisierung dieses dreidimensionalen Arrays. Wenn ich jetzt hier "a3 = new int" schreibe und jetzt könnte ich auch das Array einfach mal nur von seiner Größe anlegen und kann für jede Dimension eine Größe eintragen. Das war es so weit mit diesem Abschnitt, Sie haben gelernt, wie man in C# mit Arrays arbeitet.

Visual C# 2012 Grundkurs

Schreiben Sie eigene Programme in C# und lernen Sie dazu alle Schlüsselwörter und die meisten Konstrukte kennen, um sicher mit dieser Programmierspreche umzugehen.

7 Std. 1 min (44 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!