C#でContainsメソッドを用いて、リストの中に特定の値が入っているかを確認する方法です。
Containsメソッドを使って確認する
リストの要素が大量にある場合、リストの中に特定の文字列が含まれているかを確認する場合、Containsメソッドを使うと便利です。構文はこれだけです。
リスト変数.Contains("検索したい文字列")
戻り値はbool型なのでTrueかFalseで返って来ます。使い方としては、if文の条件式に入れるか、戻り値を変数に代入するかになります。
サンプルで次の画面を作りました。

超絶簡単なもので、
- 上のテキストボックスに検索したい文字列を入力
- 実行ボタンをクリックする
- 下のテキストボックスに結果とリストの要素が表示される
という仕様です。
サンプルコード
サンプルコードです。ブランクチェックを入れてます。
private void cmdContains_Click(object sender, EventArgs e)
{
//リスト生成
List strList = new List();
strList.Add("Sunday");
strList.Add("Monday");
strList.Add("Tuesday");
strList.Add("Wednesday");
strList.Add("Thursday");
strList.Add("Friday");
strList.Add("Saturday");
//テキストボックスの検索文字列を変数に代入
string strSearch = txtSearch.Text;
//検索する文字列のブランクチェック
if (string.IsNullOrEmpty(strSearch))
{
txtResult.Text = "(検索する文字列が入って)ないです。";
}
//文字列がリストにあるか検索
if (strList.Contains(strSearch))
{
txtResult.Text = "(リストに)ありますねえ!" + Environment.NewLine;
//対象の要素をテキストボックスに表示
foreach (string strTemp in strList)
{
if(strTemp == strSearch)
{
txtResult.Text = txtResult.Text + strTemp + Environment.NewLine;
}
}
}
else
{
txtResult.Text = "(リスト)ないです。";
}
}
String型のリスト strList には、英語の曜日を格納しています。これを実行してみましょう。
この記事を書いている時は水曜日なので、上のテキストボックスに「Wednesday」を入力して検索してみます。

この状態でクリックすると…

結果が表示されました。「Wednesday」は含まれていますね。
今度は、リストに入っていない「Holiday」を検索してみます。

リスト内にありませんね。
そして、Containsメソッドは完全一致の時にTrueを返すので、部分一致となるキーワードを入れて検索してもヒットしません。例えば、英語の曜日の全てに入っている「day」で検索してみます。

見事にヒットしませんでした。
参考サイト
List<T>.Contains(T) メソッド (System.Collections.Generic)
関連記事

【C#】enumの超基本的な使い方(列挙型)
C#におけるenum(列挙型)の基本的な使い方です。
.
