Wie konvertiert Dictionary<string, object> zu Dictionary<string, string> in c#
Ich habe untenstehenden code in C#
Dictionary<string, object> dObject = new Dictionary<string, object>();
Ich konvertieren wollen dObject
zu Dictionary<string, string>
. Wie kann ich dies tun?
InformationsquelleAutor Manoj Singh | 2011-02-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die ToDictionary-Methode:
Hier verwenden Sie den Schlüssel aus der ursprünglichen Wörterbuch und konvertieren Sie die Werte in strings mit der ToString-Methode.
Wenn Ihr Wörterbuch kann null-Werte enthalten, sollten Sie einen null-check, bevor Sie die ToString:
Der Grund, warum dies funktioniert, ist, dass die
Dictionary<string, object>
ist eigentlich einIEnumerable<KeyValuePair<string,object>>
. Die oben genannten code-Beispiel, durchläuft das zählbare und baut ein neues Wörterbuch mit der ToDictionary-Methode.Edit:
In .Net 2.0 können Sie die ToDictionary-Methode, aber Sie können das gleiche zu erreichen mit einem guten, alten foreach:
Edit2:
Wenn Sie auf .Net 2.0 und Sie können null-Werte in dem Wörterbuch, müssen Sie Folgendes sicher:
Wird
k.Value.ToString()
Gegenzug immer das gleiche wie(string)k.Value
?Nein. der (string) - k.Wert schlägt fehl, wenn der Wert eines nicht-string-Objekt. Die ToString() ist sicher für alle nicht-null-Werte.
Ja, ich weiß, dass. Nehmen wir an, alle Elemente sind Zeichenketten. Wird
ToString()
und(string)
Gegenzug, das gleiche?Könnte ich vorschlagen, mit
Convert.ToString()
statt. So wird es ein wenig leichter zu behandelnnull
Werte.Convert.ToString(keyValuePair.Value)
oderConvert.ToString(keyValuePair.Value) ?? String.Empty
InformationsquelleAutor Rune Grimstad
.NET 3.5:
.NET 2.0:
InformationsquelleAutor Jaroslav Jandek
Da Sie verwenden .net 2.0:
Das ist, warum ich sage "konvertieren Sie Ihre Artikel zu einem string entsprechend der Anforderung", zum Beispiel können Sie verwenden
string.Empty
für null-Werte, oder die Zeichenkette "NULL" für null-Werte...alles hängt von der Anforderung.Irgendwann kann es sein, null-Werte auch in die Schlüssel, bitte vorschlagen, wie es zu konvertieren?
null
keys ist nicht nur eine schlechte Idee -- es funktioniert nicht 🙂InformationsquelleAutor Cheng Chen
Wie etwa:
Zuerst einmal bin ich mit .NET 2.0 ist es möglich. Ich bin nicht immer "ToDictionary" - Methode.
Naja, ich denke wenn er das machen will ist, weil das Wörterbuch enthält
strings
, aber das ist sowieso gültig.Ja stimmt.. Aber ToString nicht immer eine schöne Reihe. Es hängt alles von Ihrer Dictionary-Objekte ohnehin. 🙂
Da Sie über .NET 2.0, foreach wird Ihr bestest buddy! GL
InformationsquelleAutor Arcturus
In .Net 2.0 wahrscheinlich Ihre beste Freundin ist foreach Schleife:
InformationsquelleAutor Rafal Spacjer
Ist es nur Idee. Sie können einfügen konnten.
InformationsquelleAutor Y.Yanavichus