我正在C#Windows 8 Metro應用程序中工作,我試圖過濾使用LINQ的ObservableCollection<T>
,其中屬性包含一些字符串,並且我需要它將不區分大小寫。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表達式,它是否按照您希望的方式工作? –