Benutzer mit den meisten Antworten
Daten einer Klasse in ein Objekt speichern

Frage
-
Hallo,
ich möchte die Daten einer Klasse Z.B. "Auto" in einem Objekt "Collection" speichern.
In meiner Klasse habe ich Z.B. 2 Eigenschaften definiert:
class Auto
{
private string farbe = String.empty,
private string Model = string.empty;
möchte ich alle Daten in einer Collection speichern.
Es sollte so aus sehen:
mycollection.farbe[i] = "schwarz";
mycollection.Model[i] = "GT45";
aber kriege ich nicht über List, Dictionary oder Arraylis. Ich kann die Daten einfach über Collection.Add(daten) speichern, aber dann kann ich mein Collection nicht über die Eigenschaften abfragen: collection.farb[1] sondern collection[1]
Ich kann die Eigenschaften(farbe und Model) nicht mit collection verbinden, oder ist es überhaupt falsch.
MFG
mmx2010
Antworten
-
Hallo,
du machst nur etwas an der Syntax falsch. Hier ist mal ein Beispiel für eine List<T>:List<Auto> autos=new List<Auto>(); autos.Add(myAuto); string modelOfAuto1 = autos[0].Model;
Du musst also zunächst eine Liste initialisieren. Das geht bei allen Typen sehr ähnlich. Grundsätzlich gibt es diese 3 Formen:Auto[] array = new Auto[5];//ein normales Arrray mit 5 Elementen List<Auto> list = new List<Auto>();//Eine dynamisch erweiterbare Liste Dictionary<int,Auto> list = new Dictionary<int,Auto>();//Ein dynamisch erweiterbares Wörterbuch mit einem Integer als eindeutigen Zugriffsschlüssel
Alle außer dem Array haben die Add-Methode mit der man ein Element hinzufügen kann. Zugreifen kannst du auf ein einzelnes Element mit dem Indexer. Dieser muss direkt hinter dem Namen der Liste/Array stehen:var auto1 = list[0];//1. Auto abrufen auto1.Model = "Model";//Wert zuweisen Zusammen gefasst geht es auch: list[0].Model = "Model";//Model des 1. Elements zuweisen
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert Tom Lambert (Koopakiller)Moderator Donnerstag, 3. April 2014 10:44
Alle Antworten
-
Hallo,
du machst nur etwas an der Syntax falsch. Hier ist mal ein Beispiel für eine List<T>:List<Auto> autos=new List<Auto>(); autos.Add(myAuto); string modelOfAuto1 = autos[0].Model;
Du musst also zunächst eine Liste initialisieren. Das geht bei allen Typen sehr ähnlich. Grundsätzlich gibt es diese 3 Formen:Auto[] array = new Auto[5];//ein normales Arrray mit 5 Elementen List<Auto> list = new List<Auto>();//Eine dynamisch erweiterbare Liste Dictionary<int,Auto> list = new Dictionary<int,Auto>();//Ein dynamisch erweiterbares Wörterbuch mit einem Integer als eindeutigen Zugriffsschlüssel
Alle außer dem Array haben die Add-Methode mit der man ein Element hinzufügen kann. Zugreifen kannst du auf ein einzelnes Element mit dem Indexer. Dieser muss direkt hinter dem Namen der Liste/Array stehen:var auto1 = list[0];//1. Auto abrufen auto1.Model = "Model";//Wert zuweisen Zusammen gefasst geht es auch: list[0].Model = "Model";//Model des 1. Elements zuweisen
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert Tom Lambert (Koopakiller)Moderator Donnerstag, 3. April 2014 10:44