C#笔记:delegate和lambda表达式
lambda表达式,也就是匿名方法,与普通的方法相比,它缺少名字。
刚才好像在讲废话,但并不是,下面是lambda和普通方法的对比:
第一段代码中lambda的部分是:
这是lambda中和Action类型委托相兼容的格式,没有方法名,没有形式参数,没有返回值。
那么,还有没有别的写法?有:
str是字符串的字段,del与str看起来相似,del像是函数的字段。
如果需要形式参数,还可以这么写:
这样一来,方法便无须先在某个方法外部定义,然后再在方法内引用,可以直接定义成委托后调用。这个写法适合逻辑复杂,需要将部分逻辑抽象或重用,但又不适合在外部定义逻辑的方法,算是优化代码的一种技巧。