Benutzer mit den meisten Antworten
Array of Objects

Frage
-
Hallo,
Ich bin zurzeit etwas verwirrt mit den Arrays. Es gibt einmal normale Arrays und zustätzlich noch Arrays von Objekten? Ich habe zb auf meinem Blatt das hier zu stehen:
Account[] myAccountArray // or Account[] myAccountArray = new Account[5] myAccountArray [0] = new Account (112000, "Current" , 50);
Es steht:
Wieso geht man nicht einfach in die Klasse Account und erstellt ein Array wie zb"Arrays are fixed length groups of type related data. The data could be objects of type String or
objects of instantiated from a user defined class such as Account"
string[] myAccountArray = new string["test"] ?
- Bearbeitet Enes97 Samstag, 16. Mai 2015 12:19
Antworten
-
Hallo Enes97,
du kannst - wie Holger bereits gesagt hat - ein Array für jeden beliebigen Datentypen erstellen.
Allgemein: Also beide folgenden Zeilen wären gültig:
int[] myArray = new int[20]; // Länge vorgegeben; inhalte unbekant int[] myArray2 = new int[] { 1, 2, 3, 4, 5, 6 }; //Länge: 6; Inhalt: z.B. [0] = 1; [1] = 2 myComplexClass[] myArray3 = new myComplexClass[10]; //Wie "myArray", aber mit Klasse statt zahl.
Information: Der Zugriff ist ganz einfach:
int[] myArray = new int[20]; // Wert in Array setzen (nicht vergessen, der Index ist nullbasiert: das erste Element hat den Index 0...) myArray[0] = 10; // Das erste Feld bekomment den Wert 10 // Wert aus dem Array auslesen int n = myArray[0]; // n hat jetzt den Wert 10
Hinweis: Solltest du einen ungültigen Index wählen (kleiner als 0 oder größer als der maximale Index (Länge-1)), dann wird eine Exception (OutOfRangeException) geworfen.
Die Länge gibt die Anzahl der Felder an, also im obigen Beispiel wäre die Länge: 20
Das erste Index ist 0, der größte ist 19!!
© 2015 Thomas Roskop
Germany // Deutschland
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Mittwoch, 20. Mai 2015 12:53
- Als Antwort markiert Aleksander Chalabashiev Mittwoch, 3. Juni 2015 08:03
Alle Antworten
-
Hallo,
zunächst gibt es keine 2 Arten von Arrays, jedes Array beinhaltet Felder von Objekten. Dabei ist es vollkommen egal, ob es sich um einen int, einen string oder um ein Account Objekt handelt. Du kannst sogar ein Array in einem Array hinzufügen.Und was deine Frage angeht, verstehe ich den Sinn nicht! Warum will jemand ein string[] (dazu noch falsche Syntax) in einer Klasse erstellen, wenn es um ein Array für diese Klasse selbst geht???!!! Hier bitte noch den Context nachliefern, sonst ist die Frage nicht zu beantworten.
Viele Grüße Holger M. Rößler
-
"wenn es um ein Array für diese Klasse selbst geht?"
Was ist denn damit gemeint? Ich habe das generell nicht verstanden, weshalb man so etwas macht bzw benutzt.
Was versteh ich unter "Array für eine Klasse"`?
Ich kenn Array als eine art Liste, in der man zahlen oder andere daten "reintut" und sie auch aufrufen kann.
-
Hallo Enes97,
du kannst - wie Holger bereits gesagt hat - ein Array für jeden beliebigen Datentypen erstellen.
Allgemein: Also beide folgenden Zeilen wären gültig:
int[] myArray = new int[20]; // Länge vorgegeben; inhalte unbekant int[] myArray2 = new int[] { 1, 2, 3, 4, 5, 6 }; //Länge: 6; Inhalt: z.B. [0] = 1; [1] = 2 myComplexClass[] myArray3 = new myComplexClass[10]; //Wie "myArray", aber mit Klasse statt zahl.
Information: Der Zugriff ist ganz einfach:
int[] myArray = new int[20]; // Wert in Array setzen (nicht vergessen, der Index ist nullbasiert: das erste Element hat den Index 0...) myArray[0] = 10; // Das erste Feld bekomment den Wert 10 // Wert aus dem Array auslesen int n = myArray[0]; // n hat jetzt den Wert 10
Hinweis: Solltest du einen ungültigen Index wählen (kleiner als 0 oder größer als der maximale Index (Länge-1)), dann wird eine Exception (OutOfRangeException) geworfen.
Die Länge gibt die Anzahl der Felder an, also im obigen Beispiel wäre die Länge: 20
Das erste Index ist 0, der größte ist 19!!
© 2015 Thomas Roskop
Germany // Deutschland
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Mittwoch, 20. Mai 2015 12:53
- Als Antwort markiert Aleksander Chalabashiev Mittwoch, 3. Juni 2015 08:03