[C#] Contains における大文字と小文字の扱い
Contains メソッドは比較を行う際に便利なメソッドであるが、これは大文字と小文字を区別する。
LINQ の比較においても大文字と小文字は区別され、気をつけないと比較がうまくいかないケースがある。
手っ取り早いのは、比較対象文字列を揃えて比較する。
以下のように記述する。
var source = new string[3] { "abc", "AAA", "bbb" }; var target = "ABC"; var result1 = from n in source where n.Contains(target) select n; Debug.WriteLine(result1.Count()); // 結果 : 0 var result2 = from n in source where n.ToUpper().Contains(target.ToUpper()) select n; Debug.WriteLine(result2.Count()); // 結果 : 1