DictionatyではないIDictionaryにてkeyとvalueの確認をしたい
foreach (KeyValuePair<object, object> kvp in dictionary) { sb.Append (string.Format ("Key = {0}, Value = {1}\n", kvp.Key, kvp.Value)); }
キャストが駄目。
じゃあ一旦普通のインターフェイスではないDictionaryにas
してこんな感じに回したら
foreach (KeyValuePair<object, object> kvp in dictionary as Dictionary<string, object>) { sb.Append (string.Format ("Key = {0}, Value = {1}\n", kvp.Key, kvp.Value)); }
Object Reference not set to instance of an object
https://msdn.microsoft.com/ja-jp/library/system.collections.idictionary(v=vs.110).aspx を見るよ・・・。
each C# 言語のステートメント (For Each Visual Basic で)、コレクション内の要素の型のオブジェクトを返します。 各要素から、 IDictionary オブジェクトは、キー/値ペアで要素型は、キーの型または値の型ではありません。 代わりに、要素型は DictionaryEntryです。
って・・。
foreach (KeyValuePair<object, object> kvp in dictionary as Dictionary<string, object>) { sb.Append (string.Format ("Key = {0}, Value = {1}\n", kvp.Key, kvp.Value)); }
いけた!!!