読者です 読者をやめる 読者になる 読者になる

C#_特定の値があるか否か確認

String に対して調べる時は
String.Contains("調べたい文字列");

List に対して(要素があるか否かを)調べる時は
List.Contains("調べたい要素");

どちらも、存在するならば true を返し なければ false を返す。

contain [動]:含む、包含する。

 

String.Contains()

String tS = "abcdefghijk";
//true が返るのでメッセージボックスが表示される。
if (tS.Contains("j"))
{
    MessageBox.Show("exist");
}

 

List.Contains()

List<int> tL = new List<int>();

tL.Add(0);
tL.Add(1);
tL.Add(2);
tL.Add(3);
tL.Add(4);
//trueが返る
if(tL.Contains(3))
{
    MessageBox.Show("3あり");
}
//falseが返る
if(tL.Contains(33))
{
    MessageBox.Show("33あり");
}

 

 以上。

【Memo】
・Array クラスには Contains() がない。
IList<T> インターフェイスの Containsメソッド を使用するか、
LINQ (Enumerable.Contains<TSource>メソッド) を使用する。

・IndexOf()
他の方法として IndexOf メソッドを使用する例もある。
Contains メソッドは内部的に IndexOf メソッドを呼び出しているが、
書き方としては Contains メソッドの方がすっきりコードが書け、
可読性も高いので Contains メソッドでいい。

こちら参照。
http://dobon.net/vb/dotnet/programing/arraycontains.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/411contains/contains.html