我需要搜索存储在集合中的名称。
搜索条件:例如:'搜索名称'。如果我给'N',则应显示此名称。如果我给出任何字母,那么应该显示包含给定字母的所有名称。该名称可以包含多个单词。
我正在使用List集合。
搜索条件:例如。 1)a 2)xyz 3)全名4)如果名称在任何位置包含给定的字母,则应显示名称。
我有.Net 3.5
答案 0 :(得分:5)
您可以使用linq
List<MyObject> results = searchList.Where(x => x.SearchName != null
&& x.SearchName.Contains(searchString)).ToList();
答案 1 :(得分:2)
基本上,你可以结合Linq和Regex:
List<string> myList;
List<string> search(string pattern)
{
Regex regPattern = new Regex(pattern);
return myList.Where(s => regPattern.IsMatch(s)).ToList();
}