Laden...

String als Array Index

Erstellt von lindesbs vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.032 Views
L
lindesbs Themenstarter:in
136 Beiträge seit 2006
vor 14 Jahren
String als Array Index

Hab gerade eine Denkblockade.

Unter PHP kann ich problemlos ein Array mit variabler Tiefe folgendermassen erzeugen

arrList[strCtr][strItem] = "Info";

Dies wuerd ich nun auch gerne in C# nehmen, aber wie ?
strCtr und strItem sind Strings

Gelöschter Account
vor 14 Jahren

Dictionary<string,string>

L
lindesbs Themenstarter:in
136 Beiträge seit 2006
vor 14 Jahren

Danke, so klappts nun :

static Dictionary<String, Dictionary<String, String>> arrList = new Dictionary<string,Dictionary<string,string>>();

Und auslesen, mit vorheriger Kontrolle, ob Elemente vorhanden sind, so :

if (!arrList.ContainsKey(strCtr))
{
    arrList.Add(strCtr, new Dictionary<String,String>());
}

if (!arrList[strCtr].ContainsKey(item))
{
    arrList[strCtr].Add(item, item);
}

return "[" + arrList[strCtr][item]+ "]";

Nun muss ich das Ganze nur noch serialsiert bekommen

Gelöschter Account
vor 14 Jahren

ein paar hinweise:

  1. der name arrList ist äuserst ungünstig, da hier die klasse ArrayList suggeriert wird, was aber nciht der wahrheit entspricht
  2. das dictionary ist bereits serialisierbar
L
lindesbs Themenstarter:in
136 Beiträge seit 2006
vor 14 Jahren

zu Punkt 1 : Ja du hast Recht.

zu Punkt 2 : Geht nicht mit einem XmlSerializer

Der Typ "System.Collections.Generic.Dictionary...... wird nicht unterstützt, da er IDictionary implementiert.

Da muss ich noch ein wenig probieren und RTFM betreiben

179 Beiträge seit 2006
vor 14 Jahren

Hi,

Hier hat Paul Welter in seinem Blog ein XML-Serialisierbares Dictionary veröffentlicht.
Damit müsste es dann auch mit dem XML-Serializer funktionieren.

greets