Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Visual C# 2011 Grundkurs

Die Klasse "Array"

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Mit einem Array lassen sich ganz einfach beliebige Mengen an Daten desselben Typs speichern. Wenn man diese Arrays nachträglich manipulieren muss, setzt man dafür am besten auf die Klasse Array.
06:21

Transkript

In diesem Video schauen wir uns einmal an, was man mit den Arrays, die man erstellt hat - also, wenn man mehrere Daten von einem Datentyp speichern möchte - was man damit so anstellen kann, um die im Nachhinein eben noch zu manipulieren. Dazu habe ich schon einmal ein kleines Programm geschrieben. Ich habe hier oben ein String Array definiert. Dieses Array hat den Namen "Namen", und dort drin definiert sind 6 verschiedene Namen. Zusätzlich zu diesem String Array - weil wir jetzt gleich dieses Array manipulieren wollen und das dann jedes Mal danach ausgeben möchten, um zu sehen, was wir dort manipuliert haben - habe ich hier unten eine kleine Hilfsmethode geschrieben. Das ist die Methode Print Array. Dieser Methode Print Array wird zum einen ein Titel übergeben. Also da können wir nachher sagen wir haben - weiß ich wie der Titel ist - wir haben das und das gemacht, und der wird da oben drüber ausgegeben. Dann werden die einzelnen Werte übergeben, die ausgegeben werden sollen. In diesem Fall wird das nachher unser Array "Namen" hier oben sein. Der wird zum einen formatiert hier oben durch diese Bereiche, dass man es halt nachher ein bisschen besser voneinander unterscheiden kann, man sieht, wo die einzelnen Abschnitte sind. Danach gehen wir hier unten in der Vorschleife hin und geben jedes Element aus diesem Array aus mit "Console.Writer". Oft hat man so ein Array hier und möchte dieses Array im Nachhinein sortieren, weil man das in irgendeiner Liste darstellen will oder so und das dann dem Benutzer es einfacher macht, dass er verschiedene Einträge selektieren kann, wenn die eben in einer sortierten Reihenfolge vorliegen. Deswegen beginnen wir mit der ersten Methode, das ist die Methode "Sort". Diese Methode "Sort" ist in der statischen Klasse "Array" definiert, und dort kann ich einfach diese Methode "Sort" aufrufen, und die einfachste Überladung, die wir jetzt auch nehmen, geben wir einfach nur das "Array" an. Das ist eigentlich schon alles, was wir machen müssen, und danach können wir einfach das Ganze uns mal anschauen mit unserer geschriebenen Methode "Print Array". Wir sagen hier: Das ist "Sort", und dem übergeben wir mal das Array "Namen". Danach auch hier unten bereits "Console.ReadKey" definiert, heißt, die Konsole wird an dieser Stelle stehen bleiben und sich nicht schließen. Wir schauen uns das Ganze mal an. Und in der Konsole sieht man - ich schiebe es mal etwas hier drüber, dass man die Vergleiche sieht - hier habe ich eine relativ willkürliche Reihenfolge genommen, und hier ist die Reihenfolge dann so sortiert, wie man sich das von Strings denken würde. Jetzt schauen wir uns einmal an, was wir machen müssen, wenn wir ein komplettes Array umdrehen wollen, also das erste Element ist das letzte usw. Das macht z.B. Sinn, wenn wir unser eben sortiertes Array derart sortiert haben wollen, dass es nicht aufsteigend sortiert ist, sondern absteigend. Dazu benutzen wir die Methode "Reverse", und mit der Methode "Reverse" kann ich jetzt hier einfach hingehen und spielend einfach mein Array umdrehen. Wir geben das Ganze wieder aus, haben hier Titel des "Reverse" und dann unsere Namensliste. Das Ganze füllen wir aus und schauen uns das an. Man sieht: Hier oben fängt es mit Chris an, dann David, Golo, Lena, Lisa, Timo. Und hier ist die Reihenfolge eben genau umgekehrt. Oft kommt man in die Situation, dass man ein Array erstellt hat, und dieses Array hat zu wenig Elemente. Ich möchte jetzt in meinem sechs-elementigen Array dort oben noch ein siebtes Element anfügen. Das Ganze kann man mit der Methode "Resize" machen. Die Methode "Resize" geht hin, schaut sich das alte Array an, erstellt ein neues Array mit der erwünschten Länge und kopiert diese Einträge dann einfach um. Also das ist eine sehr, sehr unperformante Sache, das ist sehr, sehr langsam. Bei diesem kleinen Beispiel geht das noch. Aber wenn man größere Beispiele hat mit Hunderten, Tausenden von Strings, dann wird es wirklich sehr langsam. Da sollte man dann die Klasse "List" verwenden. Wir machen das trotzdem mal. Wir rufen "Array Resize" auf, so wie wir das erwarten würden, übergeben den Namen, übergeben die Größe 7 und fertig. Allerdings nicht ganz fertig. Man sieht es hier schon, dass das Ganze etwas rot unterkringelt wird. Deshalb, weil hier vorne erwartet jetzt diese Methode nicht, dass ich ihr mein Objekt übergebe, sondern dass ich ihm eine Referenz auf eine Referenz übergebe. Normalerweise, wenn ich hier oben an dieser Stelle ein Array definiere, dann allokiere ich ja in diesem Bereich irgendwo Speicher, wo die Elemente drin gespeichert werden und mit der Variable "Namen" zeige ich auf dieses Objekt. Jetzt ist es aber so, dass er nicht dieses Objekt hinten haben will, sondern er will die Referenz auf diese Referenz haben, weil nämlich jetzt hier hinter dann diese Referenz "Namen" umgebogen wird auf das neue Array mit den 7 Elementen. Deswegen muss man hier unten hingehen und ein "Ref" davorschreiben, und dann funktioniert das Ganze auch. Wenn wir das Ganze dann wieder ausgeben lassen mit dem Array "Namen", davor fügen wir noch den Namen "Element 6" noch hinzu, den Thomas z.B., und dann führen wir das Ganze aus. Und dann sieht man hier unten: Hier ist das Array mit 6 Elementen, und hier ist das Array mit 7 Elementen. Funktioniert also. Als nächstes schauen wir uns an, was man machen muss, wenn man bestimmte Bereiche aus einem Array in ein neues Array kopieren will oder vielleicht ganze bestehende Arrays in ein neues Array kopieren möchte. Dazu gibt es die Methode "Copy" und für die Methode "Copy" legen wir uns erst einmal ein neues Array an, nennen das "New Names" - natürlich ein String Array - und dieses Array hat jetzt auch mal 7 Elemente, genau wie unser Array oben, was wir ja vergrößert haben um ein Element. Und dann rufen wir die statische Klasse "Array" auf, dazu die Methode "Copy". Und in der Methode "Copy" sehen wir jetzt eine Überladung. Zunächst müssen wir das Quellen-Array definieren. In diesem Fall ist das "Namen", danach müssen wir das Array definieren, in den die ganzen neuen Werte reinkopiert werden. Das ist also "New Names", und danach müssen wir die Länge angeben. Das ist hier die komplette Länge des Arrays, also 7. Dann geben wir das Ganze mit "Print Array" aus, Copy-Bereich und wir wollen unsere "New Names" ausgeben. Ich führe das Ganze noch einmal aus. Man sieht hier: Diese ganzen Element wurden bei "Copy" kopiert und in das neue "Array" eingefügt. Wir haben uns in diesem Video angeguckt, wie man bestehende Arrays manipulieren und verändern kann mit Hilfe der Klasse "Array". Die hat einige statische Methoden. Wir haben uns davon die Methoden "Sort", "Reverse", "Resize" und "Copy" angeguckt und haben gesehen, dass man damit schon eine ganze Menge machen kann. Es gibt natürlich noch ein paar weitere Methoden, aber die funktionieren eigentlich alle nach einem ähnlichen Prinzip. Und wenn man da irgendwelche Funktionalität benötigt, auch hier: Bevor man dieselbe implementiert, immer erst gucken, ob es das denn vielleicht schon gibt. An der Stelle sei nochmal gesagt, wenn man die Methode "Resize" benutzt, sollte man sich Gedanken darüber machen, ob es nicht vielleicht eher Sinn macht, die Klasse "List" zu benutzen, weil da kann ich dynamisch Elemente hinzufügen und auch wieder löschen.

Visual C# 2011 Grundkurs

Steigen Sie in die C#-Programmierung ein und lernen Sie sowohl die Grundlagen der Sprache C# als auch die Entwicklungsumgebung Visual Studio 2010 und .NET-Framework kennen.

7 Std. 28 min (81 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Visual Studio Visual Studio 2010
Exklusiv für Abo-Kunden
Erscheinungsdatum:27.06.2011

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!