paizaで学んだC#のDictionaryについてのまとめ

409 回閲覧されました
みなさんこんにちは、jonioです。
今回はpaizaで学んだDictionaryについてのまとめです。
Dictionaryとは
他のプログラミング言語で言う連想配列で配列の要素の取り出し方を変えた物ってイメージです。
まずは↓の配列から考えます。
これで「スライム モンスター ドラゴン」と表示されます配列から要素を取り出す時に9行目の「0」や10行目の「1」や11行目の「2」でどの要素を取り出すかの指定をしています。
この0や1や2の事をインデックス番号と言います。
Dictionaryは配列から特定のデータを取得するときにインデックス番号ではなくkeyで指定して取り出した要素をvalueと言います。
配列と連想配列の対応は下記になります。
- 配列のインデックス番号 : 連想配列のkey
- 配列の要素 : 連想配列のvalue
Dictionaryを↓のコードで考えます。
2行目は名前空間と言いますがDictionaryを使うに当たって必ず書いて下さい。
8行目の「new Dictionary<string,string>(); 」でDictionaryを作っていますが<string,string>のstringはkeyの型名でstringはvalueの型名です。
keyとvalueの順番ですが必ず「key→value」の順番に書きます。
連想配列を出力しているのが13行目〜15行目ですがvalueを指定する為の書き方は「連想配列名[key名]」となります。
今だと例えば13行目は「enemyDictionary[“ザコ”]」です。
keyとvalueのペアの数の調べ方
コードを↓にします。
14行目の「Countメソッド」でkeyとvalueのペアの数を調べる事ができます。
valueの値の更新
コードを↓にします。
14行目でvalueの値の更新をしていますがこれで中ボスがレッドドラゴンに変わります。
特定のkeyとvalueの削除
コードを↓にします。
14行目の「Removeメソッド」ですがこれでvalueが魔王の要素を削除してvalueに対応するkeyも削除されています。
foreach文
Dictionaryをforeach文で使います。
コードを↓にします。
配列の時と違うのはまず14行目の「KeyValuePair<string,string>」です。
<string,string>はkeyとvalueの型の指定をしています。
また15行目の「enemy.Key」と「enemy.Value」ですが「enemy.Key」はkeyを表していて「enemy.Value」はvalueを表しています。
15行目のenemyは14行目の「KeyValuePair<string,string> enemy」のenemyです。
14行目の「KeyValuePair<string,string>ですがvarにしても同じ動作をします。
その時のコードが↓です。