List<T> 高级进阶 实现查询功能FindAll()

来源:互联网 发布:mac没有host 编辑:程序博客网 时间:2024/06/05 15:12

1.语法

1.1  List<T>.FinAll()

1.2  List<T1>FinAll(Predicate<T1> match)


Predicate<T> 是一个泛型委托 返回bool类型 :public delegate bool Predicate<T>(T obj)
match 参数是一个返回bool类型的方法 

由此可以定义一个泛型类,并在其中定义返回bool类型的方法,即筛选规则,最后将该方法交给委托


2.用法


2.1 c#类

 public class Login    {        public int intNum { get; set; }        public string uid { get; set; }        public string pwd { get; set; }    }

2.2 c#代码

 //创建对象            List<Login> list = new List<Login>() {                new Login() { intNum=1,uid="1",pwd="1"},                new Login() { intNum=2,uid="2",pwd="2"},                new Login() { intNum=3,uid="3",pwd="3"},                new Login() { intNum=4,uid="4",pwd="4"},            };                       List<Login> listFind = list.FindAll(delegate (Login us)            {                return us.uid.Equals("1") && us.pwd.Equals("1");            });            Response.Write("符合条件的共有" + listFind.Count + "</br>");            if (listFind.Count > 0)            {                    //遍历泛型集合对象                foreach (Login item in list)                {                    string str = string.Format("序号:{0}--用户名:{1}--密码:{2}<br/>", item.intNum, item.uid, item.pwd);                    Response.Write(str);                }            }


1 0
原创粉丝点击