您的位置:首页 > 其它

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

2017-03-11 11:57 309 查看
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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ListT FindAll