通用列表中的自定义搜索

时间:2013-06-19 03:24:08

标签: c#-4.0

说我有一个培训中心列表,如

List<TrainingCentre> tList = new List<TrainingCentre>()

 {

     new TrainingCentre{ Id=1, Name="XXXX", location="NY"},
     new TrainingCentre{Id=2, Name="YYYY",location="OL"},
     new TrainingCentre{Id=3,Name="ZZZ",location="DD"} 

 };

每个培训中心只有一个位置。

此处的要求是允许用户键入其首选位置并根据搜索关键字显示结果。

例如:

用户可能更喜欢两个位置"NY" and "DD"或单个位置,例如"NY".

如何编写where子句以一次占用不同的位置。我需要字符串拆分或其他技术吗?

1 个答案:

答案 0 :(得分:1)

我希望您正在寻找类似于以下内容的内容

List<TrainingCentre> tList = new List<TrainingCentre>()
            {
                new TrainingCentre{ Id=1, Name="XXXX", location="NY"},
                new TrainingCentre{Id=2, Name="YYYY",location="OL"},
                new TrainingCentre{Id=3,Name="ZZZ",location="DD"} 

            };

//模拟搜索关键字

 List<string> PreferredLocation = new List<string>{"NY","DD" };

//Searching for the preferred locations

var filter = from trainingcentre in tList
                      where PreferredLocation.Contains(trainingcentre.location)
                      select trainingcentre;