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