我需要做的是搜索該搜索字符串的列表,如果我把例如搜索忽略大小寫敏感
字符串像N或名或Na我會得到所有的以下條目
我應該怎麼做?
我嘗試用下面的代碼是不工作的罰款,如果這個詞
myname
name
name1
NAME
n
N
Run
SearchValue = (from stp in SearchValue where stp.Description.Contains(_searchString) select stp).ToList<Serv>();
我需要做的是搜索該搜索字符串的列表,如果我把例如搜索忽略大小寫敏感
字符串像N或名或Na我會得到所有的以下條目
我應該怎麼做?
我嘗試用下面的代碼是不工作的罰款,如果這個詞
myname
name
name1
NAME
n
N
Run
SearchValue = (from stp in SearchValue where stp.Description.Contains(_searchString) select stp).ToList<Serv>();
你必須使用IndexOf
+ StringComparison.CurrentCultureIgnorecase
:
SearchValue = SearchValue
.Where(sv => sv.Description.IndexOf(_searchString, StringComparison.CurrentCultureIgnoreCase) >= 0)
.ToList();
您可以使用IndexOf
支持區分大小寫的比較:
SearchValue = (from stp in SearchValue
where stp.Description.IndexOf(_searchString,
StringComparison.InvariantCultureIgnoreCase) >= 0
select stp).ToList<Serv>();
如果您想進行文化意識比較,可以使用CurrentCultureIgnoreCase
。
HI禮,我試圖用你的代碼,有時其作品(對於某些字符串),有時不是同一個列表,任何想法? –
您實際上在此處使用LINQ'Enumerable .Contains'擴展方法。字符串方法可能更有效。 –
謝謝蒂姆當我運行它有錯誤錯誤'System.StringComparer'不包含'CurrentCultureIgnorecase'的定義任何想法? –
@EliArbel:好點,相應地編輯我的答案。 –