[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

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する