1.Lambda表达式(新手写的!新手写的!新手写的!)(未完成)

   作为19届毕业的学C#的学生,我开始了找工作的经历,前段时间面试了几家公司,由于自己在大学的基础知识学的不是很扎实,所以没有应聘上。现在写文章整理知识,增加自己的知识,顺便记录自己的成长史吧,不对的请前辈们指点;面试最深刻的就是面试官让我写一个简单的Lambda表达式,结果我懵逼了,不会写,所以第一章就先写个简单的Lambda表达式吧。

   毕竟现在是回顾知识,不会的只能从查资料开始。刚去看了下大二的书籍,Lambda表达式(lambda expression)——是一个匿名函数;在C#中,Lambda 表达式用“=>”表示,主要工作是简化类内的方法数量,以提升可维护性。而在LINQ中,Lambda表达式被广泛使用,尤其是在LINQ的各函数内,充斥这许多的Func<TResult>,而这些都是Lambda表达式的活动范围,因此要灵活运用LINQ,学习Lambda表达式是必须的(意思是Lambda表达式主要在LINQ中使用么?复习完这个去看看LINQ的知识吧...)

   在面向对象的类设计中,通常会设计许多的方法和属性来支持类的任务,不过方法内的具体实现有很多只有特定方法才会调用(意思应该是方法需要被调用才能实现吧),这些方法大多是因为要处理委托(delegate)而生成的(这句话不是很理解,意思是方法需要处理委托后才能被调用?),所以Lambda表达式首要解决的问题之一就是简化委托的编写(书上是这么写的,而且下面很多地方涉及到了委托,所以我只能先去看看委托的知识了)。

   委托的概念:委托是一个类,它定义了方法的类型,使得可以将一个方法当作另一个方法的参数进行传递,这种将方法动态地赋给参数的做法,可以避免使用if-else或者switch语句,同时使得程序具有更好得可扩展性;多数用于实现事件和回调方法。

   然后看了很多网上的文章,总的来说,委托机制是一种封装函数的机制,让程序员可以将函数视为对象,将它传递给需要的对象使用;类似于C++中函数的指针(但委托是面向对象得,且还类型安全),它也是个类型,和类是同一个级别,区别就在于委托的关键字是delegate和没有方法体:

   deleget 函数返回类型 委托名(参数);

   class 类名{字段、属性、方法、构造函数},下面是简单的委托,自己手动写一次,对理解还是有很大帮助的。

 

    在之后的匿名委托就是把执行一段没有名字的执行语句,在此匿名委托的基础上,人们进一步简化,就出来Lambda表达式(可以说Lambda表达式是匿名委托的升级版?这个我也是在https://www.cnblogs.com/ruanraun/p/6040532.html看到的一个大佬写的文章理解的,自己肚子里也没什么墨水)

    先到这,去看看其他基础,得去面试,看看这点基础够通过不,等回来接着深入。

 

转载于:https://www.cnblogs.com/dreamoffire/p/9751818.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值