万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    IDictionaryでkey, valueを回す C#

    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));
            }

    いけた!!!