Ich arbeite an einer App, die ich nicht entworfen habe, und hätte es nicht so entworfen. Ich habe eine Liste, die ich einem Dictionary<string, object>
zuordnen möchte. Das resultierende Wörterbuch sollte wie folgt aussehen:Map-Liste zu benutzerdefinierte Wörterbuch
var dictionary = new Dictionary<string, object>{
{ CommonProperty.Name, item.Name },
{ CommonProperty.UriAddr, item.UriAddr}
//other properties
}
CommonProperty
eine versiegelte Klasse mit statischen Eigenschaften ist zB Name
, UriAddr
etc. Ich habe versucht, so etwas wie: -
ich stecken geblieben versuchen, die Linq Abfrage unten zu nutzen :
var dict = myList.Select((h, i) => new { key = h, index = i })
.ToDictionary(o => o.key, o => values[o.index]));
Und ...
foreach(var item in list){
var _dict = new Dictionary<string, object>{
{CommonProperty.Name, item.Name},
//other properties
}
}
Die CommonProperty
fügt der Eigenschaft zusätzliche Informationen hinzu und muss daher aufgerufen werden. Sowohl Schlüssel als auch Wert haben die gleichen "Namen".
Meine Frage ist: Wie kann ich myList
zuordnen und ein Wörterbuch wie das obige zurückgeben? Gibt es einen besseren Weg?
Vielen Dank im Voraus.
Sie haben sogar die Arten von 'myList gezeigt' und 'values' –
Was ist der Nutzen des Wörterbuchs ist? Damit würdest du nur Asse 'dict [" Name "]' anstelle von 'item.Name' verwenden, also sehe ich den Vorteil nicht. Wenn Sie den Grund für das Wörterbuch angeben, könnte eine andere Möglichkeit zur Lösung des Problems besser sein. –
Es sieht so aus, als ob Sie eine Liste erstellen möchten,