日期:2014-05-18  浏览次数:20796 次

求助,在List集合中模糊搜索出所有符合包含字符的对象


RT

我已经有一个Class类的泛型集合classList

Class类有诸多属性

现要求实现如下:

输入一个字符串Str1,从classList集合中筛选出有任何一个属性值包含str1字符串的对象,add进新集合classNewList

比如Class如果有属性Name,Address,Mobile

Class A = new Class();
A.Name="猪猪123兔兔";

Class B = new Class();
B.Address="深圳市123";

Class C = new Class();
C.Mobile="110123";

还有其他无关对象
则输入123,检索出A,B,C这三个对象。


求一个解决方案,多多益善,让我也学习学习。
相信各位聪明的朋友应该懂我的需求了。

热心的朋友可以加我QQ讨论:501812815
感谢。




在搜索出

------解决方案--------------------
C# code

void Main()
{
    var source=new List<Tim>
    {
      new Tim{ ID="12",Name="t", School=""},
      new Tim{ ID="123",Name="t", School=""},
      new Tim{ ID="1234",Name="t", School=""},
      new Tim{ ID="1",Name="t123", School=""},
      new Tim{ ID="2",Name="t", School="0123"}
    };
    var query=from x in source
    let temp=source.Select(t=>new{ID=t.ID,all=t.ID+","+t.Name+","+t.School}).Where(t=>t.all.Contains("123")).Select(t=>t.ID)
    where temp.Contains(x.ID)
    select x;
    

}
class Tim
{
  public string ID{get;set;}
  public string Name{get;set;}
  public string School{get;set;}
}
//此处要求ID唯一