Pages

2013/01/11

[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
Related Posts Plugin for WordPress, Blogger...