Guten Tag ins Forum.
Ich beschäftige mich nun seit einiger Zeit mit C# und würde mich als ambitionierten Einsteiger bezeichnen. Ich arbeite gerade an einem Programm das Datenbankbasiert Objekte verwalten soll (Trainingsprojekt das etwas umfangreicher ist), in dem konkreten Beispiel sollen Kundenserver inventarisiert werden.
Dazu habe ich mir eine relationale DB erstellt die KD, Hersteller, CPU, RAM, etc umfasst und untereinander mit Fremdschlüsseln verknüpft sind.
Mein Programm soll Dropdown-Menüs beinhalten, welche je nach Auswahl nur bestimmte weitere Auswahlmöglichkeiten zulassen.
Beispiel, wählt man beim Hersteller Dropdown "Apple" aus, so soll im Geräte-Dropdown nur "Notebook" oder "Desktop" erscheinen, wählt man im Hersteller-Dropdown "IBM" aus so soll "Server", "Notebook", "Desktop" angezeigt werden, und so fort.
Soweit kein Problem, da ich das mit Linq schön abfragen kann. Wobei ich jetzt aber verzweifle sind meine Listen. Ich möchte im Programm selbst die Abfragen nicht in Arrays speichern sondern in einer generischen Liste.
Also statt ein Array zu initialisieren das die Objekte vorhält hätte ich gerne eine Liste erstellt.
Warum die Liste?
Vielleicht liegt hier auch mein Verständnisproblem: Laut meiner Lehrbücher und Tutorials, kann ich Arrays nicht dynamisch erweitern, sprich, wenn einer Kategorie neue Objekte zugewiesen werden ("Apple" und "Server") müsste ich das Array neu definieren. Über List<T> jedoch wäre das Programm hier dynamisch. Und genau da setzt mein Problem an. Ich schaffe es nicht eine Liste mit Objekten zu erstellen oder zu adressieren. Ich weiß nicht was ich falsch mache oder ob das überhaupt wirklich geht.
Im Konkreten stelle ich mir das so vor:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| class Server {
public String Hersteller {get; set;}
public String CPU {get; set;}
public String Kategorie {get; set;}
public Server(string herst, string cpu, string kat){
this.Hersteller = herst; this.CPU = cpu; this.Kategorie = kat;
return; } }
List<Server> _liste = new List<Server>();
_liste.Add("IBM", "Intel", "Server");
|
ziemlich vereinfacht aber im Kern mein Problem. Visual Studio sagt ich möchte eine Feld wie einen Typen verwenden, dabei dachte ich, ich könnte mit Listen alle Möglichen Datentypen verwalten.
Ich hoffe ich konnte mein Problem so schildern, dass es verständlich ist, aber ich laboriere jetzt schon mehrere Tage dran rum und mittlerweile sitze ich vor einem gordischen Knoten. Vielleicht hat jemand erbarmen und zeigt mir auf wo mein Fehler liegt.
Danke im Voraus.
Gruß Stephan.
Moderiert von Th69: C#-Tags hinzugefügt