Dictionary オブジェクトに指定したキーが存在しているか確認するコードを紹介します。
Dictionary オブジェクトで指定したキーの要素が存在しているか確認したい場合があります。
Dictionaryオブジェクトのキーの存在を確認するには、ContainsKey()
メソッドを利用します。
(Dictionayオブジェクト).ContainsKey([確認するキーの値])
Dictionayオブジェクトにキーが存在していればtrue
を返します。存在していない場合はfalse
を返します。
Windows Formアプリケーションを作成します。
下図のフォームを作成します。テキストボックスを2つ、ボタンを1つ配置します。
以下のコードを記述します。button1のClickイベントを実装します。
namespace DictionaryExistsDemo
{
public partial class FormMain : Form
{
private Dictionary<int, string> dic = new Dictionary<int, string>();
public FormMain()
{
InitializeComponent();
dic.Add(8, "ぺんぎんクッキー");
dic.Add(4, "らくだキャラメル");
dic.Add(2, "しろくまアイス");
dic.Add(7, "あひるタルト");
dic.Add(1, "かるがもカステラ");
}
private void button1_Click(object sender, EventArgs e)
{
int sid = Convert.ToInt32(textBox1.Text);
if (dic.ContainsKey(sid) == true) {
textBox2.Text = "入力した Key の項目はあります。";
}
else {
textBox2.Text = "入力した Key の項目はありません。";
}
}
}
}
FormのクラスのメンバにDictionaryオブジェクトを宣言します。
Formの作成時にDictionaryオブジェクトに値を挿入しています。
private Dictionary<int, string> dic = new Dictionary<int, string>();
public FormMain()
{
InitializeComponent();
dic.Add(8, "ぺんぎんクッキー");
dic.Add(4, "らくだキャラメル");
dic.Add(2, "しろくまアイス");
dic.Add(7, "あひるタルト");
dic.Add(1, "かるがもカステラ");
}
ボタンをクリックすると、テキストボックスに入力された値のキーがDictionaryオブジェクトに存在しているかを判定します。
判定結果のメッセージを下部のテキストボックスに表示します。
private void button1_Click(object sender, EventArgs e)
{
int sid = Convert.ToInt32(textBox1.Text);
if (dic.ContainsKey(sid) == true) {
textBox2.Text = "入力した Key の項目はあります。";
}
else {
textBox2.Text = "入力した Key の項目はありません。";
}
}
上記のプロジェクトを実行します。下図のウィンドウが表示されます。
上部のテキストボックスに"7"を入力し[button1]をクリックします。キーが存在している旨のメッセージが
下部のテキストに表示されます。
"7"を入力し[button1]をクリックします。キーが存在していないメッセージが下部のテキストに表示されます。
"6"を入力した場合も同様です。
"4"を入力した場合はキーが存在するメッセージが表示されます。
Dictionaryオブジェクトに指定したキーが存在するかを確認できました。