Ich habe diese IDictionary
Erklärung: IDictionary<string, string> trace;
Innerhalb davon möchte ich eine Liste von Element durch eine json Deserialisierung zurück speichern, tatsächlich ich tun, um diese wie:Wie speichern Sie mehrere Elemente in IDictionary?
var obj = JsonConvert.DeserializeObject<List<RootObject>>(responseText);
foreach (var item in obj)
{
trace["date"] = item.trace.details.date;
trace["type"] = item.trace.details.type;
foreach (var trace in item.trace.context.context)
{
trace["context"] = JsonConvert.SerializeObject(trace);
}
}
nun diesen Code gut funktioniert, aber nur das retten letzter Punkt der Iteration, dies ist der Fall, wenn ich über das Element iterieren die date, type etc...
ersetzt werden, aber ich möchte das Element speichern nicht ersetzen es in jeder neuen Iteration.
Wie kann dies mit IDictionary
?
Beachten Sie:trace.x
ist der Name der Klasse, die den JSer deserialize.
Weitere Frage: Vielleicht ist die Verwendung von IDictionary keine gute Idee, um dies zu erreichen?
Sie können finden, 'Lookup' ist eine Alternative' https://msdn.microsoft.com/en-us/library/bb460184 (v = vs.110) .aspx' –
Sie benötigen eindeutige Schlüssel für jedes 'Element' und wieder für jede "Spur". Oder Sie können stattdessen 'IDictionary> 'tun. Oder erstellen Sie eine benutzerdefinierte Klasse mit einem date- und type-Parameter und dem Kontext als Liste und verwenden Sie diese als Werttyp für Ihre Wörterbücher. –
juharr
@juharr Ich habe es bereits versucht, aber ich habe folgende Nachricht: Implicit cast 'string' in 'System.Collection.Generic.List' –
Sandokan