Laden...

Mehrdimensionales assioatives array

Erstellt von TigerCrow vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.372 Views
T
TigerCrow Themenstarter:in
86 Beiträge seit 2017
vor 6 Jahren
Mehrdimensionales assioatives array

Hallo,

ich schon wieder ... stehe gerade komplett auf dem Schlauch 🙁

Habe folgenden Code:


List<Dictionary<String,String>> matrix = new List<Dictionary<String,String>>(); 
            matrix.Add(new Dictionary<String,String>());
           
            matrix[0].Add("Name", "Hugo");
            matrix[0].Add("tel", "987253");
            matrix[1].Add("Name", "Napf");
            matrix[1].Add("tel", "234354");

            MessageBox.Show(matrix[1]["tel"]);

bekomme bei matrix[1] eine Fehlermeldung das ich ausserhalb des bereichs bin 🙁

kann mir bitte, bitte jemand sagen wo ich einen fehler habe bzw. ne klammer vergessen habe!

irgendwie seh ich nix .. oder ich bin zu plöd ...

Lieben Gruß
TigerCrow

H
523 Beiträge seit 2008
vor 6 Jahren

Du fügst nur einen Eintrag zur Liste matrix hinzu.

T
TigerCrow Themenstarter:in
86 Beiträge seit 2017
vor 6 Jahren

irgendwie richtig .... und was muss ich jetzt ändern ?

H
523 Beiträge seit 2008
vor 6 Jahren

Wenn Du nur einen Eintrag zur Liste hinzufügst kannst Du auch nur auf einen zugreifen.

Sprich Du musst


            matrix.Add(new Dictionary<String,String>());

so oft ausführen wie Du Einträge in der Liste haben möchtest.

T
TigerCrow Themenstarter:in
86 Beiträge seit 2017
vor 6 Jahren

Danke ...

oh gott bin ich blöd ... Sorry

hätte ich auch drauf kommen müssen ... wenn ich gestern nicht so viel gesoffe hätte 8o

D
985 Beiträge seit 2014
vor 6 Jahren

Es ist reine Geschmackssache ...


var matrix = new List<Dictionary<String,String>>{
    new Dictionary<String,String>{
        ["Name"] = "Hugo",
        ["tel"] = "987253",
    },
    new Dictionary<String,String>{
        ["Name"] = "Napf",
        ["tel"] = "234354",
    },
};

in meinen Augen aber wesentlich freundlicher zu lesen (und zu schreiben)

3.003 Beiträge seit 2006
vor 6 Jahren

Vorsicht, antipattern: stringly typed programming. Alles in formlose Container packen und Key-Informationen als Zeichenketten speichern...bäks, wir sind doch nicht in VB6.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)