C# Mehrere Objekte speichern

alebec7

Ensign
Registriert
Juni 2008
Beiträge
154
Hallo,

ich habe eine Klasse geschrieben, die verschiedene Werte von Filmen speichert:

Code:
class Film
    {      
        public string titel = string.Empty;
        public string typ = string.Empty;  
        usw.

        public Film (string pTitel, string pTyp, usw.)
        {
            titel = pTitel;
            typ = pTyp;
         }
}

Erzeugen des Objects:
Film film = new Film("Wert1", "Wert2");

Wenn ich von der Klasse aber ein neues Objekt erstelle, überschreibt er die Werte. Ich will aber z.B. via Index auf die (mehreren) Objekte zugreifen (film[0]).

Wie kann ich das realisieren?
 
Du kannst sowas lösen indem du entweder eine klassenvariable index einführst, oder die ganzen Filme in eine Liste oder ein Array packst.
 
Wichtig ist mal der Unterschied zwischen Klasse und Objekt. Die Klasse ist Dein "Bauplan", das Objekt ist das "Haus". Du kannst mehrere Objekte (Instanzen) der selben Klasse erzeugen. Diese existieren dann nebeneinander im Speicher, also wird da nichts überschrieben.

Code:
Film film1 = new Film("Die Hard 1", "Action");
Film film2 = new Film("Shrek", "Comedy");

Damit hast Du zwei Objekte des Typs Film im Speicher. Auf die kannst Du nun über die Variablen film1 und film2 zugreifen. Wenn Du eine Liste von Film Objekten willst, sieht das dann so aus:

Code:
List<Film> filme = new List<Film>();
filme.Add(new Film("Die Hard 1", "Action"));
filme.Add(new Film("Shrek", "Comedy"));

Film film3 = filme[0];

Hoffe es ist nun klarer.
 
@Cepheus77:

Das war genau das, wonach ich gesucht hatte. Punktioniert perfekt!

Thread kann geschlossen werden!
 
Zurück
Oben