我有MyItems列表:
My item
{
string name;
int age;
}
List<MyItem> list = new List<MyItem>();
list.Add(new Test("name", 2));
list.Add(new Test("ŚćĄa", 4));
list.Add(new Test("May NĄmĄa bb" , 7));
list.Add(new Test("May maa cc" , 7));
现在用:
var NewList = list.Where(m => m.name.ToLower().Contains(textToSearch.ToLower())).ToList();
我可以忽略大小写,但是如何忽略像ĄĆŚ这样的特殊字符,
当我设置textToSearch = "aa";
时
我得到第二,第三和第四项。
但是当我设置textToSearch = "ĄA";
时,我只想获得第二项和第四项
答案 0 :(得分:3)
试试这个:
list.Where(m =>
CultureInfo.InvariantCulture.CompareInfo.IndexOf(
m.name,
textToSearch,
CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase) > -1
).ToList();
将列出两个,三个和四个。