【发布时间】:2016-05-10 17:32:57
【问题描述】:
专家。我想在我的 IList 中搜索“名称”字段...但它始终区分大小写。如何在不区分大小写的情况下进行搜索?以下是我的代码:
型号:
public IList<Student> Search(IList<Student> list, string keyword)
{
return list.Where(e => e.Name.Contains(keyword)).ToList();
}
类:
public class Student
{
public string Name {get;set;}
public string MatricNo {get;set;}
public string Gender {get;set;}
}
控制器:
IList<Student> list = new List<Student>();
Student students1 = new Student();
students1.Name = "Mike";
students1.MatricNo = "12345";
students1.Gender = "Male";
list.Add(students1);
Student students2 = new Student();
students2.Name = "Steve";
students2.MatricNo = "12345";
students2.Gender = "Male";
list.Add(students2);
Student students3 = new Student();
students3.Name = "Jane";
students3.MatricNo = "12345";
students3.Gender = "Male";
list.Add(students3);
string keyword = "mik"; //Example of search keyword
list = _searchModel.Search(list, keyword);
我想要返回名为 Mike 的学生的列表,但它没有返回。相反,它只会在关键字 = "Mik" 时返回。当关键字=“mik”时如何进行不区分大小写的搜索?请注意,关键字可以是学生“姓名”的子字符串。
【问题讨论】:
-
我也试过 list.Where(e => e.Name.ToLower().Contains(keyword.ToLower())) 但仍然区分大小写...
-
你可以看看这个问题stackoverflow.com/questions/18378448/…。
-
抱歉,Kote,我对我的问题进行了一些更改...关键字可以是子字符串...这样有效吗?
-
@erntay2 您确定您的 ToLower 比较(两者上)不起作用吗?
-
@erntay2 抱歉,链接错误。看这个:stackoverflow.com/questions/444798/…
标签: c# linq list asp.net-mvc-4 search