Cooler Adblocker Abiunity kannst du auch ohne Adblocker werbefrei nutzen ;) Einfach registrieren und mehr als 10 Bedankungen sammeln!
 
Tina.Tina
Schüler | Niedersachsen
29.05.2014 um 15:39 Uhr
Ich hab da mal ne Frage. Ich hab am Montag meine mündliche Prüfung und eines der Themen die ich habe sind c# - Arrays, leider hab ich gar keine Ahnung davon und habe im Internet auch nichts hilfreiches gefunden. Habt ihr vielleicht was dazu gemacht? Vielleicht kann mir ja jemand helfen. danke! smile
1
#288854
Melde dich an oder registriere dich, um zu kommentieren. AnmeldenRegistrieren
 
Robin_Nds
Schüler | Niedersachsen
29.05.2014 um 16:41 Uhr
Zunächst mal, Arrays gibt es nicht nur in C#, sondern auch in jeder anderen (vernünftigen) Programmiersprache, weil sie von ihrer Funktion her einfach unersetzbar sind Augenzwinkern
Du kennst ja sicherlich normale Variablen, wie int, string, short, bool usw.. Die kannst du definieren per z.B. int i=5; Das ist dann praktisch, wenn du nur eine einzige Variable hast, stell dir aber mal vor, du möchtest ein Programm schreiben, das Lottozahlen generiert und die Zahlen dann jeweils in einer Variable abspeichert. Jetzt könntest du hingehen und dir 6 int-Variablen definieren mit int zahl1=...int zahl2= usw. Dann wärst du vermutlich schon genervt davon, ständig alle 6 Zuweisungen zu schreiben. Wenn es aber ein Programm sein sollte, das, warum auch immer, 1000 Zufallszahlen in einer Variable speichern soll, würdest du wohl einfach Arbeitsverweigerung betreiben (zu Recht! großes Grinsen ). Das ist der Moment, in dem Arrays ins spiel kommen, definieren kannst du sie mit:
.
Gehen wir die einzelnen Teile mal durch:
gibt an, welche Art von Array du erstellen möchtest (int, short, bool string usw.). Das können auch Objekte sein, aber ich denke, das geht an dieser Stelle dann zu weit Augenzwinkern
zeigt, dass es sich hierbei um ein Array handelt. Man kann auch mehrdimensionale Arrays erstellen, 2D wäre [,] und 3D entsprechend [,,]. Ein dimensionale kannst du dir als Tabelle mit einer Spalte und n Zeilen vorstellen, zwei dimensionale als Tabelle mit n Spalten und m Zeilen und drei dimensionale als einen "Würfel" der aus einzelnen Zellen besteht
gibt dem Array einen Namen, genau wie es auch bei normalen Variablen der Fall ist
zeigt, dass ein Array ein Objekt und kein primitiver Datentyp wie int oder bool ist (die du ja ohne das "new" deklarierst"
hier muss wieder der Datentyp von vor dem Gleichzeichen stehen und in die Klammer kommt dann die Größe des Arrays, sprich, wie viele int-, bool-Werte usw. dort speichern kannst (1D: Wieviele Zeilen die Spalte hat, 2D: wieviele Zeilen bzw. Spalten es hat, 3D: Wieviele einzelne Zellen der Würfel in die x, ,y ,z Richtung hat)

So viel zur Definition von Arrays.
Arrays sind grundsätzlich dazu da, um mehrere Variablen des gleichen Typs an einem Ort zu speichern, wie es z.B. mit den Zufallszahlen der Fall ist. Wie haben sehr viele Zahlen (alle vom Typ int) und möchten sie abspeichern. Also erstellen wir uns ein int-Array mit der Größe 1000 (wenn wir denn 1000 Zahlen speichern wollen):


Die einzelnen Zellen des Arrays kannst du dann mit ansprechen, unserem Fall also . Hierbei musst du aufpassen, dass die erste Zelle den Index 0 (!) und die letzte Zelle entsprechend den Index size-1 hat.
Die erste Zahl können wir also setzen mit:

und lesen mit
, z.B. um sie auszugeben:
.

Was jetzt unsere Lottozahlen angeht, könnten wir dann einfach eine for-Schleife basteln, die jeweils die einzelnen Zelllen des Arrays beschreibt:





/e Hier spinnt die Formatierung, es sollte "Random r" sein und "int i", irgendwie verschwinden die Leerzeichen immer.

Gleichzeitig kann man die Elemente dann auch mit for-Schleifen auslesen, entweder so, wie eben dargestellt, oder mittels einer foreach-Schleife Augenzwinkern

Der Vorteil ist dadurch denke ich klar geworden - der Nachteil an der Geschichte ist, dass wir immer so viel Arbeitsspeicher belegen, wie unser Array groß ist. Egal wieviele Elemente schon einen Wert haben, es wird immer X-Teile des RAMs belegen. Außerdem sind Arrays auch nicht erweiterbar, d.h. wenn du jetzt auf einmal 1001 Zufallszahlen erstellen wolltest, müsstest du ein komplett neues Array erstellen und ggf. alle Zahlen übertragen.

Hier ist nocheinmal ein Link dazu, die Seite erklärt in der Regel alles ziemlich gut:
http://openbook.galileocomputing.de/visu...f0d6ba05d983423

Ich hoffe, das hat ein bisschen geholfen, bei Fragen kannst du gerne nochmal nachfragen Zunge raus
Zuletzt bearbeitet von Robin_Nds am 29.05.2014 um 16:45 Uhr
2
#288861
 
Sally14
Schüler | Niedersachsen
31.05.2014 um 17:00 Uhr
Danke smile Ich hatte das gleiche Problem und deine Erklärung hat mir echt geholfen smile
0
#289067
Cooler Adblocker Abiunity kannst du auch ohne Adblocker werbefrei nutzen ;) Einfach registrieren und mehr als 10 Bedankungen sammeln!
x
BBCodes