読者です 読者をやめる 読者になる 読者になる

196の日記

完全に開発メモと雑談、その他忘れそうな計算式などを書き溜める場所になっています!

メモ書き~Generic.Dictionary

unity

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 の値が受け取れるのですが、それをインクリメント、もしくは値を代入してやれば、そのキーに対応した値が書き換わるらしいです!