Es sollte sein:
%Vor%Das Wörterbuch enthält keine anderen Wörterbücher, es enthält Schlüsselpaare und Werte.
Dictionary<string, DirectoryInfo>
Implementiert
IEnumerable<KeyValuePair<string, DirectoryInfo>>
Dies bedeutet, dass die foreach-Schleife über KeyValuePair<string, DirectoryInfo>
objects läuft:
Dies ist auch der Grund, warum eine der IEnumerable-Erweiterungsmethoden immer mit einem KeyValuePair-Objekt funktioniert:
%Vor%Ich denke, dass viele der oben genannten Personen die Frage beantwortet haben, warum Sie den Fehler erhalten, d. h. das Wörterbuch speichert KeyValuePairs und speichert Dictionarys nicht. Um kleine Fehler wie den, den Sie haben, zu stoppen, würde ich vorschlagen, eine neue Syntax in Ihrer Entwicklung zu verwenden.
%Vor%Der Typ von var wird von myDirectoryList abgeleitet und Sie werden nicht auf dasselbe Problem stoßen. Wenn Sie sich dafür entscheiden, den Typ von myDirectoryList zu ändern, und die Eigenschaften in seinen untergeordneten Elementen identisch sind, wird Ihr Code trotzdem kompiliert.
Wenn Sie jedes Dictionary-Element iterieren, sollten Sie den Datentyp definieren, dessen Dictionary Hold
ist %Vor%statt der Art von Dikton. Also richtiger Weg:
%Vor%Dictionary ist ein generischer Typ, so dass Boxen und Unboxing nicht benötigt werden.
Tags und Links c# generics dictionary