Hi,
ich weiß dass man in C++ einen Vector oder eine Liste aus Klassen erstellen kann. Leider weiß aber nicht genau wie ich das in C# umsetzen soll. Ich erkläre mal was ich machen will.
Ich will dynamisch angeben wie viele Klassen erstellt werden sollen. Also angenommen ich will für X Personen eine eigene Klasse erstellen, die verschiedene Informationen (Variablen) enthält. Dann will ich auch für bestimmte Personen die Informationen ändern oder drauf zugreifen.
Vielleicht kann mir jemand ein kurzes Beispiel schicken???
Thnx schon mal an alle Helfenden...
private List<Person> deine Funktion(int x)
{
List<Person> personen = new List<Personen>(x);
for(int i = 0; i<x; i++)
personen.add(new Person());
return personen;
}
Guten Rutsch!
Hallo Incubus
Eine Liste aus Klassen gibts nicht, sondern eine Liste von Objekten deiner Klasse 🙂
Guten Rutsch ihr beiden!
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Hallo,
wirklich verstanden habe ich Dein Vorhaben nicht. Wenn ich aber daran denke, was es "üblicherweise" gibt, dann ist folgendes Verfahren sinnvoll (rudimentärer Code):
// die Klasse einer einzelnen Person
public class Person{...}
// eine Sammlung von Instanzen dieser Klasse
List<Person> Personen = new List<Person>();
// auf jede einzelne Instanz kann beliebig zugegriffen werden
Personen[17].Name = "Meier";
Wenn Du einen Index direkt einbauen willst, ist auch denkbar:
Dictionary<int, Person> Personen = new Dictionary<int, Person>();
Person meier = new Person(17, "Meier");
Personen.Add(meier.ID, meier);
Näheres findest Du in der :rtfm: unter den genannten Begriffen, wobei die Vorschläge von David und Peter einbezogen werden können.
Guten Rutsch! Jürgen
Ich danke euch allen vielmals... 🙂
Das hilft mir auf jeden Fall weiter. Na klar meinte ich die Instanzen 😉 aber mit klasse versteht ihr mich ja schon.
Ich hoffe ihr seid alle gut gerutscht...
Gruß,Incubus
du hast zwar schon was du willst, aber wenn du "Liste von Klassen" schreibst, hätte ich dir mit
List<Type>
weitergeholfen. Das ist zwar nicht, was du willst, aber das was ich verstanden hätte 🙂
loop:
btst #6,$bfe001
bne.s loop
rts
Frohes Neues Jahr!
du hast zwar schon was du willst, aber wenn du "Liste von Klassen" schreibst, hätte ich dir mit
List<Type>
weitergeholfen. Das ist zwar nicht, was du willst, aber das was ich verstanden hätte 🙂
Ich behaupte mal frech: das ist nichts anderes, als was DavidT und ich schon vorgeschlagen hatten. Jürgen
Mit Type ist aber nicht ein beliebiger Typ, sondern System.Type gemeint.
ja, ich meinte System.Type, damit sowas ginge:
list.Add(typeof(Person));
list.Add(typeof(DateTime));
das wäre eine Liste von Klassen, oder mit .net Worten gesagt, eben eine Liste von System.Type, da Type ja alles sein kann: int, class, struct, enum...
loop:
btst #6,$bfe001
bne.s loop
rts
@0815Coder und @ZiMD
OK, Ihr hättet: Wenn Incubus wirklich "Liste von Klassen" gemeint hätte, wäre so etwas der richtige Weg. Bitte entschuldigt meine vorlaute Zurückweisung. 👍
Incubus hatte allerdings weitergeschrieben:
Ich will dynamisch angeben wie viele Klassen erstellt werden sollen. Also angenommen ich will für X Personen eine eigene Klasse erstellen
und später (vor Eurem Vorschlag):
Na klar meinte ich die Instanzen
Also sollte sich die Lösung des Problems auf List<Person> beschränken.
Nochmals Frohes Neues Jahr! Jürgen