C# Class und Array
-
Hallo die runde,
die frage kann mir hier sicher jemand schnell beantworten. Folgendes Beispiel
public Daten kunde; kunde = new Daten(); kunde.vorname = "Max"; kunde.nachname = "Mustermann"; public class Daten { public string vorname; public string nachname; }
Die ist eine aufs absolut Minimum reduzierte Klasse in C#.
Wenn ich jetzt x Kunden habe. Wie kann ich diese realisieren? Mit "kunde[x]" hat es nicht funktioniert. Wenn Ich "Kunde1 = new Daten(); ..." und dann "Kunde2 = new Daten(); ..." schreibe geht dies natürlich, aber das ja keine Lösung
Ich komme einfach nicht drauf, wie ich das umschreiben muss, damit ich z.b. in einer Schleife x Kunden anlegen kann.
-
Benutze eine List<Kunde>:
var kunden = new List<Kunde>(); var kunde = new Kunde() { Vorname = "Max", Nachname = "Mustermann" }; kunden.Add(kunde);
Und statt öffentlicher Felder benutze (automatische) Eigenschaften:
public class Kunde { public string Vorname { get; set; } public string Nachname { get; set; } }
-
@Pardasus
Google nach Arrays und Collections.
-
Ich wusste das mich jemand auf das "public" in das Klasse ansprechen wird
aber danke für den Tipp!
List schein ein toller Befehl zu sein, aber wie gebe ich diesen wieder aus?
z.b.: nur den Nachnamen von Kunde x
-
foreach (var kunde in kunden) { Console.WriteLine(kunde.Nachname); }
-
Ich komme noch nicht dahinter, wie ich gezielt von "Kunde x" den Vor-/Nachnamen ausgeben kann.
Angenommen ich habe auf diesen weg fünf Vor-/Nachnamen per "Add" der Liste hinzugefügt. Wie kann ich jetzt auf den dritten gezielt zugreifen?
Suche auch schon eine ganze weile im Internet, aber überall wird leider immer nur gezeigt, wie man mit einer schleife alles ausgeben kann
EDiT:
Jetzt hab ich eskunde[0].vorname
Vielen Dank!!!
-
Falls du mit .NET 4 arbeitest kannst du auch nach Nutzern in der Liste mit Hilfe von Linq suchen.
Als Beispiel: IDEOne