Object während einer Laufzeit erstellen und aufrufen.
-
Hallo,
ich möchte in meinen Konsolenprogramm währed das programm läuft z.B ein neues Object. An sich funktioniert es auch, allerdings weiß ich jetzt nicht wie ich das jeweilige element aufrufe...
List<Spieler> lSpieler= new List<Spieler>();
Und das hinzufügen von Spielern:
lSpieler.Add(new Ziegen(Name, Farbe, Level));
Gruß.
-
da muss natürlich
lSpieler.Add(new Spieler(Name, Farbe, Level));
stehen...
-
Entweder über einen Index(wenn du weißt, wie die Position in der List ist) oder über eine Linq Abfrage z.B.
-
Habe versucht über den index... aber ging nicht..
lSpieler.IndexOf(i) oder lSpieler[i]
oder? Wenn ja, komme dadrüber aber nicht an die farbe... i aufgrund, weil es in einer foreach schleife ist.
-
Beschreibe genauer wo das Problem liegt und zeige mehr Code. Keine Lust auf Ratespielchen.
-
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Spiel { class Program { static void Main(string[] args) { int nSpieler; List<Spieler> lSpieler = new List<Spieler>(); do { Console.WriteLine("Spieler Erstellen?[1 = ja]"); nSpieler = Convert.ToInt32(Console.ReadLine()); if (nSpieler== 1) { string Name = Console.ReadLine(); int Farbe = Convert.ToInt32(Console.ReadLine()); int Level = Convert.ToInt32(Console.ReadLine()); lSpieler.Add(new Spieler(Name, Farbe, Level)); } } while (nSpieler == 1); Console.WriteLine("Welche Spieler soll verwaltet werden?:"); foreach (Spieler i in lSpieler) { Console.WriteLine("test"); } } } }
-
Na dann greife doch einfach über i (bekloppter Name btw.) auf die öffentlichen Properties und Methoden des Objekts zu.
i.Farbe = ...
i.Clusterfuck();
-
Geht ja nicht... wenn ich i. drücke kommt keine auswahl für meine Attribute.
-
Und wie sieht die Klasse Spieler aus?
Muss man Dir wirklich alles aus der Nase ziehen?
-
Habe den fehler gefunden...
Vergessen "public" zu schreiben...