我需要做的是搜索该搜索字符串的列表,如果我把例如搜索忽略大小写敏感
字符串像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:好点,相应地编辑我的答案。 –