Visual C# 2011 Grundkurs

Arrays

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Wer mehrere Daten desselben Typs speichern möchte, kann das in C# mit Arrays realisieren. Hier lernen Sie Arrays kennen und erfahren, wie Sie sie erstellen, füllen und mit Schleifen bearbeiten können.
07:21

Transkript

Wir schauen uns jetzt einmal an, was man in C# machen muss, wenn man Mengen eines gleichen Typs speichern möchte. Wenn man solche Daten vom gleichen Typ speichern möchte, dann möchte man die zusammenhängend speichern. Wenn man sich dazu mal ein Beispiel im täglichen Leben sucht, könnte man z.B. die Gästeliste von einem Geburtstag nehmen. Wenn ich einen Geburtstag veranstalte und stelle eine Gästeliste hin, hat diese Liste zunächst mal einen Namen, also z.B. Gäste. Auf dieser Liste befinden sich mehrere Personen, diese Personen werden durch einen String repräsentiert, die haben einen festen Datentyp. Und jedes von diesen Elementen kann ich in irgendeiner Weise ansprechen. Ich kann z.B. durch einen sogenannten Index, nenne ich ihn jetzt mal, sagen, das zweite Element ist Lisa. Oder wenn ich das vierte Element haben will, das ist die Caroline. Ich kann also diese Liste zum einen durch einen eindeutigen Namen identifizieren, dann durch einen gemeinsamen Datentyp aller Daten und durch eine Länge. In C# verarbeitet man solche Listen mit sogenannten Arrays. Arrays sind Datenstrukturen, um solche zusammenhängenden Daten eines Datentypes zu speichern. Unten ist mal ein Beispiel, wie man so ein Array anlegt. Zunächst gebe ich den Datentyp an, hier ist es der Datentyp "String", dann folgt eine öffnende und geschlossene eckige Klammer. Diese geöffnete und geschlossene eckige Klammer ist der Hinweis, dass es sich hierbei um ein Array handelt. Dann habe ich den Namen dieser Liste, es ist hier auch "Gäste" und dann weise ich dieser Referenz "Gäste" einem bestimmten Bereich zu, den ich vorher reservieren muss. Mit diesem "new String"  und dann in eckigen Klammern 5 reserviere ich quasi Speicher für fünf Elemente, also für fünf Strings und weise das meiner Liste "Gäste" zu. Damit habe ich mir quasi im Speicher so eine Liste hier erstellt, diese Liste heißt Gäste und hat für Elemente. Wichtig jetzt bei C# ist, das erste Element von so einem Array hat immer den Index 0. Das heißt, wenn ich jetzt auf den ersten Namen oben zugreifen möchte, nehme ich dann nicht die 1 sondern die 0 - das sieht dann so aus. Hier sieht man jetzt auf der linken Seite, wie zunächst das Array erstellt wird und danach befülle ich die einzelnen Array-Elemente, so nennt man die, mit den jeweiligen Namen. Man sieht, das erste Element oben, wo ich den Namen "Tom" reinschreibe, hat den Index 0, das nächste hat den Index 1 usw. So kann ich also Werte in diese Arrays hineinschreiben und so kann ich sie natürlich auch wieder auslesen. Man sieht hier sehr schön, der erste Index ist 0 und daraus resultiert auch, dass der letzte Index immer die Länge -1 ist, also in diesem Fall 4. Und um das Ganze mal ein bisschen im praktischen Einsatz zu sehen, schauen wir uns das jetzt direkt im Code an. Ich habe schon mal die auf den Folien abgebildete Gästeliste hier in Visual Studio implementiert und wir schauen uns das Ganze jetzt erst zunächst mal im Debugger an, setzen einen Breakpoint, führen das Programm aus und gehen mit der Maus hier oben auf die Variable "Gäste". Sie sehen schon, das Ganze ist vom Typ String-Array, hat fünf Elemente. Wenn ich hier vorne auf das Plus klicke, sehe ich die einzelnen Elemente und vorne in den Klammern sehe ich, welchen Index welches Element hat. Die Art und Weise, wie ich jetzt hier vorne diese Elemente initialisiert habe, also wie ich diesen Elementen einen Wert gegeben habe, ist relativ einprägsam und ich fange erst mit dem nullten Element an und schreibe dort einen String rein, dann mit dem ersten, dann mit dem zweiten, dann mit dem dritten, dann mit dem vierten. Das Ganze kann man auch noch ein bisschen eleganter machen, indem ich hier oben einfach zunächst mal keine Anzahl an Elementen angebe und dann folgt diesem Array so ein Block aus geschweiften Klammern und einem Semikolon. Und in diesen geschweiften Klammern kann ich dann die einzelnen Namen angeben, zunächst der Tom, dann die Lisa, der Thomas, die Caroline und die Pia. Wenn ich jetzt noch mal den Debugger ausführe, sehe ich oben, dass ich immer noch das selbe Ergebnis habe. Das Schöne an diesen Arrays ist jetzt, dass ich diese Arrays mit Schleifen sehr gut bearbeiten und vor allen Dingen ausgeben kann - und das machen wir jetzt mal. Dazu nehmen wir eine For-Schleife, nutzen das Schlüsselwort "For" und initialisieren eine C-Variable "i" mit 0 und sagen, die Schleife soll so lange durchlaufen wie die Variable "i" kleiner ist als 5 und erhöhen dann bei jedem Schleifendurchlauf "i" um 1. Das ist die lange Variante hier "i=i+1", alternativ kann ich aber auch schreiben: "i++". Unten dann der Bereich, der von meiner Schleife jedes Mal ausgeführt wird und dort sagen wir dann einfach mal "Console.WriteLine" und dann "Gäste" und dann geben wir das i-te Element aus. Wir fangen ja nachher mit i bei 0 an. D.h., bei dem ersten Schleifendurchlauf wird das nullte Element ausgegeben, danach wird i um 1 erhöht auf 1, dann wird das erste Element ausgegeben, das zweite, das dritte usw. Wir führen das Ganze einmal aus, schauen uns das im Debugger an. So, wir sind jetzt hier angelangt, haben jetzt hier das erste Mal diese Bedingung überprüft, hier wird sie "true" ausgewertet. Wir geben jetzt hier den ersten aus, das ist der Tom, erhöhen dann weiter und geben die Lisa aus, danach ist der Thomas an der Reihe, dann die Caroline. Dann wird auf 4 erhöht, 4 ist immer noch kleiner als 5, damit wird die Pia ausgegeben und jetzt hier an dieser Stelle wird i auf 5 erhöht. 5 ist nicht mehr kleiner als 5, damit ist die Bedingung hier nicht mehr erfüllt und die Schleife ist beendet. Das ist natürlich jetzt hier sehr schön, allerdings hat dieser Ansatz noch ein Problem. Wenn ich jetzt hier oben, was könnte ich hier machen, zuerst hier noch die Lena als Teilnehmer angebe und dann diese Schleife nochmal durchlaufe, ich mache es jetzt mal hier im Debugger, dann sieht man hier, dass alles bis zur Pia ausgegeben wird und eben nicht die Lena. Ja, warum ist das so? Weil wir hier jetzt hätten diese 5 anpassen müssen. Wir müssen also jedes Mal, wenn wir diesem Array noch ein Element hinzufügen, hier wieder diesen Wert ändern. Das müssen wir aber eigentlich gar nicht, weil ich kann auf die Variable "Gäste" ein sogenanntes "Property" aufrufen und darin steht die Länge, also die 5 - oder jetzt die 6. Wenn wir das dann ausführen, dann werden alle Teilnehmer hier ausgegeben. Und wenn ich dann hier unten nochmal hingehe und noch den Christoph hinzufüge, dann ist das vollkommen dynamisch, wird angepasst und das komplette Array wieder ausgegeben. Arrays sind natürlich eine sehr, sehr schöne Sache, aber eins muss man sich immer bewusst machen und muss man von vorne herein wissen: Es ist nicht mehr möglich, wenn ich dieses Array hier oben einmal initialisiert habe, dann hier unten noch ein Element hinzuzufügen. Es ist zwar auf Umwegen möglich, aber sehr langsam und deswegen sollte man sich dessen immer bewusst sein. Wir haben uns in diesem Film die Arrays angeguckt, wir haben gesehen, dass wir in einem Array mehrere Daten vom selben Datentyp speichern können. Wir haben gesehen, wie man so ein Array initialisiert, zunächst müssen wir den Datentyp angeben, dann eine öffnende, geschlossene eckige Klammer, dann wie auch bei einer normalen Variable einen Namen, dann muss ich hinten mit dem Schlüsselwort "New" Speicher reservieren, um eine gewisse Anzahl von Strings zu speichern. Dann haben wir einmal die Initialisierungsmöglichkeit kennengelernt, oben direkt eine feste Anzahl von Elementen anzugeben und dann jedes einzelne Element zu initialisieren oder das Ganze hier mit dem sogenannten Collection Initializer zu machen, dass ich eben in geschweiften Klammern die Elemente angebe und dann ermitteln C# und der Compiler selber, wie viele Elemente das sind und wie viel Speicher dafür reserviert werden muss. Anschließend haben wir uns angeguckt, dass man mit Schleifen solche Arrays wunderbar bearbeiten und ausgeben kann und haben uns mal angeschaut, wie wir uns die Länge von so einem Array bestimmen können.

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
Ihr(e) Trainer:
Erscheinungsdatum:27.06.2011
Laufzeit:7 Std. 28 min (81 Videos)

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!