Listに要素が一つ含まれているかを確認する
とある文字列のListにCode1
という文字列が含まれているかどうかを調べる場合、以下のようなコードを書けば判断することができます。
var list = new List<string> { "Code1", "Code2", "Code3", "Code4", "Code5" };
var searchStr1 = "Code1";
var result = list.Contains(searchStr1);
Console.WriteLine(result);
実行結果
True
Listに複数の要素が含まれているかを確認する
次は文字列のListにCode1
、Code3
のいずれかが含まれているかどうかを調べる場合です。
先程のコードを発展させて以下の書けば判断することができます。
var list = new List<string> { "Code1", "Code2", "Code3", "Code4", "Code5" };
var searchStr1 = "Code1";
var searchStr2 = "Code3";
var result = list.Contains(searchStr1) || list.Contains(searchStr2);
Console.WriteLine(result);
実行結果
True
この書き方でもいいんですが、検索したい要素が増えていくとメンテナンスが面倒ですね。
Linqをメンテナンス性も良いので、以下のコードを参考にしてください。
var list = new List<string> { "Code1", "Code2", "Code3", "Code4", "Code5" };
var search = new List<string> { "Code1", "Code3" };
var result = list.Where(x => search.Contains(x)).Count() != 0;
Console.WriteLine(result);
Console.ReadLine();
実行結果
True