C#での連想配列はDictionaryクラスで実現できます
C#にはPHPのような連想配列というものはありませんが、Dictionaryクラスを使用すればC#でも連想配列を作ることができます。
Dictionaryクラスを使用して連想配列を作る
Dictionaryクラスを使用して連想配列を作成するサンプルプログラムです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace DictionarySample { public partial class FmMain : Form { public FmMain() { InitializeComponent(); } private void btn_Click(object sender, EventArgs e) { //Dictionaryクラスのオブジェクト生成 Dictionary<string, int> KeyValueData = new Dictionary<string, int>(); //キーと値をセットする KeyValueData.Add("Key1", 100); KeyValueData.Add("Key2", 200); KeyValueData.Add("Key3", 300); //値を取り出す int Value = KeyValueData["Key1"]; } } } |
1 |
Dictionary<string, int> KeyValueData = new Dictionary<string, int>(); |
のDictionary<string, int>の部分でキーと値の型を指定しています。連想配列として扱いたいのでキーはstring型としています。値はここではint型としています。
値をstring型にしたい場合はDictionary<string, string>とすればOKです。値をセットする場合はAddメソッドにキーと値を指定します。
値を取り出すときはKeyValueData["Key1"]とすれば取り出すことができます。
存在しないキーを指定すると例外(KeyNotFoundException)が発生するので、ContainsKeyメソッドでキーの存在を確かめてから取り出すほうが良いでしょう。
1 2 3 4 |
if(KeyValueData.ContainsKey("Key4") == true){ //値を取り出す int Value = KeyValueData["Key4"]; } |
Dictionaryクラスを使うと連想配列を作ることができるので、例えばPHPのコードをC#に置き換えたりする場合に使えたりします。