您的位置:首页 > 其它

List<T>模糊查找、排序(非Linq)

2013-01-23 15:11 435 查看
方法一:

用 list<T>.FindAll(delagate <t> match)

list<UserInfo> userlist;

*******

userlist.FindAll(delegate(UserInfo userinfo) {

return userinfo.Username.Contains(txUserName.Text.Trim());

} );

其中userinfo.Username.Contains(txUserName.Text.Trim()) 是搜索条件;

返回一个bool值,如果返回true,这条数据就选出来,如果为false,就丢弃;

要注意delegate(UserInfo
userinfo),注意一下这个匿名函数的参数,和后面的条件,参数userinfo,

条件userinfo.Use.....,这就是他们怎么联系起来的。

userlist.FindAll返回的
的是 List<UserInfo> 类型,就得到查找的数据了。

其中,模糊的部分,就是
Contains(string str), 这是个string 类型方法,返回bool值,

意思是否包含str字符串。

方法二:

如果是查找List<T>中的string项,
可以用string.Contains(string value)方法。

再利用foreach遍历整个list进行查找。

foreach(UserInfo
user in AllUsers){

if(!user.Username.Contains(username))
continue;

userlist.Add(user);

}

排序:

userlist.Sort(delegate(UserInfo
u1,
UserInfo u2) {

return Comparer<string>.Default.Compare(u1.UserName, u2.UserName);

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: