ich passieren diese Art von Struktur zu verwenden, eine ganze Menge:Wie kann ich den Schmerz der Initialisierung von Wörterbüchern von Listen in C# erleichtern?
Dictionary<string, List<string>> Foo = new Dictionary<string, List<string>>();
, die zu dieser Art von Code führt:
foreach (DataRow dr in ds.Tables[0].Rows)
{
List<string> bar;
if (!Foo.TryGetValue(dr["Key"].ToString(), out desks))
{
bar= new List<string>();
Foo.Add(dr["Key"].ToString(), bar);
}
bar.Add(dr["Value"].ToString());
}
Glauben Sie, es lohnt sich eine benutzerdefinierte DictionaryOfList Klasse zu schreiben, die damit umgehen würde Art von Dingen automatisch?
Gibt es eine andere Möglichkeit, diese Listen zu initialisieren?
foreach (DataRow dr in ds.Tables[0].Rows)
{
Foo.GetValueOrCreateDefault(dr["Key"]).Add(dr["Value"].ToString())
}
Vielleicht können Sie auch eine Erweiterungsmethode für die gesamte Initialisierung schreiben: GetValueOrCreateDefault() oder so ähnlich -
Was ein bisschen was tun Sie diese Struktur nützlich für? Da ich ein ziemlich neuer Programmierer bin, denke ich, dass ich die Wörterbuchstruktur noch nicht so oft benutzen kann! – RYFN
Framework Version Info wäre nützlich, LINQ könnte dies viel sauberer – AnthonyWJones
@Anthony: In der Tat. editierte Tags zu erwähnen. Net3.5 – Brann