这样的我知道怎么写
如何   if Age 选择  
  List<Person> list2 = list.FindAll(delegate(Person p) { return p.Age > 10 ; });
如何   if Name 选择  
  List<Person> list2 = list.FindAll(delegate(Person p) { return p.Name=="puma"; });如果 if Age和 Name 都 选择
  List<Person> list2 = list.FindAll(delegate(Person p) { return p.Age > 10 && p.Name=="puma"; });这样的 一个动态的组合 ,不要
return p.Age > 10 && p.Name=="puma";  事前写死的,有人说
{
if(){return ""};
return "";
}
我不知道这个里 怎么写,请高人指点下,谢谢了

解决方案 »

  1.   

     List<Person> list2 =null;
    if(p.Age > 10 && p.Name=="puma")
    {
     list2=list.FindAll(delegate(Person p) { return p.Age > 10 && p.Name=="puma"; });
    }
    if(p.Name=="puma")
    {
     list2=list.FindAll(delegate(Person p) { return p.Name=="puma"; });
    }
      

  2.   

    是这个意思么?
    List<Person> list2 = list.FindAll(delegate(Person p) {
        bool ret = true;
        if(Age)
            ret &= (p.Age > 10); 
        if(Name)
            ret &= (p.Name=="puma");
        return ret;
    });
      

  3.   

    参考:
    http://blog.csdn.net/q107770540/article/details/5724013
      

  4.   

    谢谢
    Icedmilk
    了   我知道意思不知道怎么写