C#夯实基础-Lambda在List中的使用
在C#中基本类型比如List ,Dictionary,数组等都有委托来实现相关的操作。此时Lambda表达式就可以使用了.
实例1,查找字符串List的包含a的元素
代码
//字符串型的list
List<string> lstInfo = new List<string>() { "abc", "hello", "ok", "good", "bye" };
查询当前List每项包含o字符的所有项
在List这个基本类型有一个方法FindAll的基本方法
可以发现FindAll中使用了一个委托
参数 match 是一个 Predicate<T> 委托,用于定义要搜索的元素应满足的条件。
public delegate bool Predicate<in T>(T obj);
Predicate是返回bool型的一个委托
最终的代码是
public static void DoTest4()
{
//字符串型的list
List<string> lstInfo = new List<string>() { "abc", "hello", "ok", "good", "bye" };
//查找当前list中的每一项包含o字符的
var lstNew = lstInfo.FindAll(x =>
{
if (x.Contains("o"))
{
return true;
}
else
{
return false;
}
});
foreach (string s in lstNew)
{
Console.WriteLine(s);
}
}
返回的结果是:
同样的方法,我们可以查看比如List的其他使用了委托的方法,都可以使用Lambda表达式来对List进行操作。
其他的方法,可以参考MSDN或者在当前的List的Find方法F1进行C#本身已经定义的方法参数
List.Find查找一个元素
List.Sort排序方法
另外说明一下,委托的作用就是将实现交给用户 ,本身只是起到一个关键返回结果的的作用,根据返回结果,对象根据结果进行相应的调整。
相关文章
- Linux服务器硬件信息查询与日常运维命令总结
- Linux服务器带宽跑不满?用ethtool调优网卡参数,性能提升30%
- 如何在 Rocky Linux 中查看网卡流量?跟着小编学习iftop安装和使用
- Linux查看网卡速率_linux查看网卡当前速率
- 五一我要看七天小说!免费开源的轻量化书库talebook搭建流程。
- 我是如何用这3个小工具,助力小姐姐提升100%开发效率的
- html5和css3的常用参考网_基于html5和css3的网页制作
- 超详细的网络抓包神器 tcpdump 使用指南
- Vue 技术栈(全家桶)_vue全栈项目教程
- 学习ES6- 入门Vue(大量源代码及笔记,带你起飞)