私はC#Windows 8 Metroアプリケーションで作業していますが、LINQを使用してをフィルタリングしようとしています。LINQ文字列に別の文字列の大文字小文字を区別しない
var searchResults = from _rest in App.ViewModel.Restaurants
where _rest.Name.IndexOf(queryText,
StringComparison.CurrentCultureIgnoreCase) >= 0
select _rest;
は、私は両方の文字列の周り
Using string1.Contains(string2).ToUpper()
働きます。Using string1.Contains(string2).ToLower()
両方の文字列です。Using string1.IndexOf(string2, StringComparison.CurrentCultureIgnoreCase) >= 0
。Using string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0
。Using String.Compare(string1, string2, StringComparison.CurrentCultureIgnoreCase)
。
しかし、この方法のどれも大文字小文字を区別しない方法では機能しません。名前を正しく書き込むと問題なく動作します。
誰かがWindows 8で同じ問題を抱えていますか?
ご協力いただきありがとうございます。
問題を示す短い完全な例を挙げることはできますか? –
コンチネンタル・ヨーロピアン・レストランの名前はありませんか? ;-) – dash
たとえば、.NET 4(.0)WPFアプリケーションで同じLINQ式を適用する場合は、必要に応じて機能しますか? –