List集合中的搜索值

时间:2010-03-15 12:41:16

标签: .net .net-3.5

我需要搜索存储在集合中的名称。

搜索条件:例如:'搜索名称'。如果我给'N',则应显示此名称。如果我给出任何字母,那么应该显示包含给定字母的所有名称。该名称可以包含多个单词。

我正在使用List集合。

搜索条件:例如。 1)a 2)xyz 3)全名4)如果名称在任何位置包含给定的字母,则应显示名称。

我有.Net 3.5

2 个答案:

答案 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();
}