Nanashi-softプログラマ専用Unityでゲーム開発


◇Unityでゲーム開発 -C#で連想配列を使う方法-


●変数の宣言と定義

Hashtable 変数名 = new Hashtable();

例)
Hashtable hensu = new Hashtable();

●代入(追加)

変数名[項目名] = "文字列";
または
変数名.Add("項目名", "文字列");
※Addを使用した場合,既にその項目が存在する場合はエラーになります

例)
hensu["koumoku"] = "mojiretu";
例)
try{
	hensu.Add("koumoku", "mojiretu");
}catch{
	//既にある項目を追加しようとした
}

●削除

変数名.Remove("項目名");

例)
hensu.Remove("koumoku");

●全クリア

変数名.Clear();

例)
hensu.Clear();
※JavaScriptと違って中身が無くてもエラーにならないっぽい

●値取得

string 取得変数 = "" + 変数名["項目名"];

例)
string work;
work = "" + hensu["koumoku"];

●値一覧取得

for (var キー変数:String in 変数名.Keys) {
    var 取得変数:String;
    取得変数 = 変数名[キー変数];
}
※keysと頭を小文字で書くと別の意味になるので注意のこと

例)
foreach (string key in hensu.Keys) {
	string work;
	work = (string)hensu[key];

	Debug.Log("キー値="+key+",値="+work);
}

●項目が存在するか?

if(変数名.ContainsKey("項目名")){
    //存在する
}else{
    //存在しない
}

例)
if(a.ContainsKey("koumoku")){
	Debug.Log("koumokuキーは存在する");
}else{
	Debug.Log("koumokuキーは存在しない");
}

●連想配列のコピー

例)
Hashtable moto = new Hashtable();
Hashtable saki = new Hashtable();

moto.Add("item1", "sword");
saki = (Hashtable)moto.Clone();


TOPプログラマ専用Unityでゲーム開発

メイナの実験場~むちむち子猫+~ネコミトリ りうるうり -ノーマル-+