Dictionary オブジェクトに指定した値が存在しているか確認するコードを紹介します。
Dictionary オブジェクトで指定した値の要素が存在しているか確認したい場合があります。
Dictionaryオブジェクトの値の存在を確認するには、ContainsValue()
メソッドを利用します。
(Dictionayオブジェクト).ContainsValue([確認したい値])
Dictionayオブジェクトに値が存在していればtrue
を返します。存在していない場合はfalse
を返します。
Windows Formアプリケーションを作成します。
下図のフォームを作成します。テキストボックスを2つ、ボタンを1つ配置します。
下図はボタンが2つ配置されていますが、今回のデモでは[button2]のみを利用します。
以下のコードを記述します。button2の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 button2_Click(object sender, EventArgs e)
{
string input_value = textBox1.Text;
if (dic.ContainsValue(input_value) == true) {
textBox2.Text = "入力した値の項目はあります。";
}
else {
textBox2.Text = "入力した値の項目はありません。";
}
}
}
}
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 button2_Click(object sender, EventArgs e)
{
string input_value = textBox1.Text;
if (dic.ContainsValue(input_value) == true) {
textBox2.Text = "入力した値の項目はあります。";
}
else {
textBox2.Text = "入力した値の項目はありません。";
}
}
プロジェクトを実行します。下図のウィンドウが表示されます。
テキストボックスに"しろくまアイス"を入力し、[button2]ボタンをクリックします。
値がDictionaryに存在している旨のメッセージが下部のテキストボックスに表示されます。
"ふくろうフィナンシェ"を入力して[button2]をクリックした結果が下図です。
入力した値はDictionaryオブジェクトには含まれていませんので、項目がない旨のメッセージが表示されます。
"かるがも"を入力した例です。部分一致は一致とは判定されず、Dictionaryオブジェクトにない旨のべっせーじが表示されます。
"かるがもカステラ"を入力した場合の結果が下図です。完全に一致する値がDictionaryオブジェクトに存在していれば、
値がある旨のメッセージをテキストボックスに表示します。
Dictionaryオブジェクトに値が存在しているかの確認コードを紹介しました。