Hallo zusammen,
ich suche ein Objekt / eine Klasse in der ich folgendes realisieren kann:
Ich lade Daten aus einer Tabelle einer Datenbank. (bsp: username, vorname, nachname, email)
Die Werte möchte ich nun in meinem gesuchten Objekt wie folgt auslesen können
string vorname = objekt.next().value["vorname"];
string nachname = objekt.next().value["nachname"];
wobei objekt.next jeweils den nächsten usernamen liefert und value dann einen der dazugehörigen werte des usernamen liefert.
gibt es da schon eine passende klasse?
ich bin nicht sicher ob eine hashtable diese vorgehensweise unterstützen würde...
bisher habe ich es mit mehrdimensionalen arrays geregelt.
(string[][] user)
aber vllt gehts auch eleganter?
auf eine datatable würde ich auch gerne verzichten. 😃
danke für die hilfe
afr0
Hallo,
Lookup<TKey, TValue> wäre so was.
Sonst kannst du das auch selbst basteln indem ein Dictionary<TKey, List<TValue>> erstellt wird.
mfG Gü
Hallo Gü,
das könnte doch was sein 😃
ich schau mir das mal an.
danke.
warum nicht
class User
{
public string Vorname { get; set; }
public string Nachname { get; set; }
public string Adresse{ get; set; }
}
Dictionary<int, User>()
?
ein blankes array (string[]) ist gefaehrlich da man das staendig pruefen muesste
und eine List ist unnoetig da die werte doch eigentlich immer die selben sind (also vom selben typ und anzahl)
Hallo,
Liste mit einem Key und mehreren Values?
Wenn das nicht gilt dann ist Mr. Evils Ansatz der korrekte.
mfG Gü
Danke für die Tipps.
Leider ist mir im Nachhinein aufgefallen, dass mein "Key" nicht immer eindeutig ist.
Dictionary<T> funktioniert da schon nicht mehr. Deshalb hab ichs erstmal doch wieder über object[][] geregelt.
Ich werde bei Zeit und Gelegenheit mal versuchen das per IEnumerable<T> und Dictionary oder Lookup zu lösen.
gruß
afr0
wenn der key nicht eindeutig ist dann nimm doch ne einfache liste
ist auf jeden fall sicherer
class User
{
public string Vorname { get; set; }
public string Nachname { get; set; }
public string Adresse{ get; set; }
}
List<User>()
die kannst du auch durchsuchen