セキュリティ系の勉強・その他開発メモとか雑談. Twitter, ブログカテゴリ一覧
本ブログはあくまでセキュリティに関する情報共有の一環として作成したものであり,公開されているシステム等に許可なく実行するなど、違法な行為を助長するものではありません.

メモ書き~Generic.Dictionary

//

https://msdn.microsoft.com/ja-jp/library/xfhwa508(v=vs.110).aspx

using System.Collections.Generic;

これを書かないと、使えない。

Dictionary<ENUM, int> itemBag = new Dictionary<ENUM, int>();

これで itemBag という Dictionary を初期化することができる。
使い方はその時々で調べるよ!そのうち覚えるさ!

 こんな感じで、今持っているアイテムとその数を保持しようと思って、いろいろ試行錯誤してみた。これきたでしょって思ったやり方が実際は全然だめだったコードがこちら

int[] i=new int[ENUMの数];
itemBag.add("ENUM.ITEM1",i[ENU.ITEM1]);


//問題のコード
if(アイテム1を拾った) i[ENUM.ITEM1]++;

Dictionary のところにはポインタ的な何かが入ると考え、ポイント先の値を増やせば所持数も増えるだろうと思ったのですが、増えず。。。


正しくはこうするべきでした。

itemBag[ENUM.ITEM1]++;
//または
itemBag[ENUM.ITEM1]=3;

itemBag[ENUM.ITEM1]をすると、一緒に保存されている int の値が受け取れるのですが、それをインクリメント、もしくは値を代入してやれば、そのキーに対応した値が書き換わるらしいです!