List集合遇到动态查询情况,通常写着很麻烦,这个时候Func就派上用场了。给Func赋值他就参与查询,不赋值就不会参与查询。
public static void Select3()
{
List<UserInfo> listUserInfo = new List<UserInfo>() { new UserInfo { ID = 1, Name = "A", Age = 20 }, new UserInfo { ID = 2, Name = "B", Age = 20 }, new UserInfo { ID = 3, Name = "C", Age = 20 } }; //实例化集合
Func<UserInfo, bool> filterID = x => true, filterName = x => true;
filterID = x => x.Age == 20;
filterName = x => x.Name != "C";
List<UserInfo> listWhere = listUserInfo.Where(filterID).Where(filterName).ToList();
listWhere.ForEach(p => Console.WriteLine("ID:" + p.ID + " Name:" + p.Name + " Age:" + p.Age));
Console.ReadKey();
}