Wie, um einen Mehrwert für Komplexe Wörterbuch?
Als ich wissen, die Methode Werte hinzufügen zum Wörterbuch, wie unten beschrieben.
Dictionary<string, string> myDict = new Dictionary<string, string>();
myDict.Add("a", "1");
Wenn ich als "myDictDict" wie der Stil unten.
IDictionary<string, Dictionary<string, string>> myDictDict = new Dictionary<string, Dictionary<string, string>>();
myDictDict .Add("hello", "tom","cat"); ?//How to add value here.
danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der richtige Weg ist wie folgt:
Dieser Extrakt wird das Wörterbuch entsprechend der Schlüssel (
hello
in deinem Beispiel) oder erstellen Sie ihn, falls nötig, und dann fügen Sie den Schlüssel/Wert-paar, das Wörterbuch. Sie könnte sogar extrahieren Sie diese in eine extension-Methode.Ließ ich die Bewachung gegen
null
Eingang zu halten, die Idee, klar.Verwendung:
oder
IDictionary
und der inneren Wörterbuch zuTInnerDictionary where TInnerDictionary : IDictionary<TNestedKey, TNestedValue>, new()
.Können Sie C# verwenden 3 s collection-Initialisierungen, wie das ist:
Wenn das Wörterbuch bereits vorhanden ist, können Sie schreiben
Beachten Sie, dass dies nur funktioniert, wenn
hello
ist nicht ein vorhandener Schlüssel in der äußeren Wörterbuch. Wenn es sein könnte, sollten Sie Jason ' s Antwort.Zur Handhabung dieser "einfache" Weg : so etwas wie dieses :
Reagieren direkt auf die OP ' s test-Fall : (Hinweis: der edit Hinzugefügt, unten spiegelt sich ein Wunsch, korrigieren Sie die syntax von SLaks Antwort : code getestet und validiert gegen Framework 3.5 Client profile-in VS 2010 Beta 2)
Können Sie definieren, eine Erweiterung Methode wie diese :
und dann verwenden Sie es als :
a
im äußeren Wörterbuch. Sehen Jasons Antwort.