次のコードを検討してください。
var variables = System.Environment.GetEnvironmentVariables();
foreach (DictionaryEntry vari in variables)
{
Console.WriteLine(vari.Key);
Console.WriteLine(vari.Value);
}
それは正常に動作します。variablesですので、 、 with 、IDictionaryで構成されます。DictionaryEntryobject Keyobject Value
入力できないのはなぜforeach(var vari in variables)ですか? それは私に与えます
error CS1061: 'object' does not contain a definition for 'Key/Value'...
奇妙に思えますが、この動作の理由を見つけることができません。DictionaryEntryは ですが、struct大丈夫List<DictionaryEntry>です。もちろんIDictionary一般的ではないことは理解していますが、マニュアルには含まれていると書かれているDictionaryEntriesので、使用できるはずvarです...