美文网首页
C#中的委托和Lambda表达式

C#中的委托和Lambda表达式

作者: 全新的饭 | 来源:发表于2023-10-18 13:51 被阅读0次

谓词

一个逻辑表达式,其计算结果是是或否,用于评估真或假。
一个为某些输入返回布尔值的函数。
可用于过滤(筛选)。

委托

一种能表示方法的数据类型。

让我们能像处理其他任何数据一样处理对方法的引用,即可以捕捉对方法的引用,传递该引用、调用被捕捉的方法。

是引用类型,但不需要用new来实例化。从方法组(为方法命名的表达式)向委托类型的转换会自动创建新的委托对象。

不可变:创建好后就无法更改。如果某个变量包含了委托引用,当想引用不用的方法时,只能创建新委托并将它赋给变量

匿名方法

用于创建自定义委托。可调用“委托”给对象引用的方法;可将方法名作为委托实例。

不优雅,在所有用到它的地方,都应该替换为Lambda表达式。

必须显式指定各参数类型、必须有代码块。
通过在参数列表前添加关键字delegate来强调匿名方法必须转换成委托类型。

Lambda表达式和语句

读含有Lambda操作符“=>”的代码时,可将该操作符在理解中替换为“用于”
当委托作为“谓词”(返回布尔值)使用时,“=>”可理解为“满足……条件”

Lambda语句可以不指定方法名、可访问性、返回类型、参数类型(前提是能推断出)。

相关文章

网友评论

      本文标题:C#中的委托和Lambda表达式

      本文链接:https://www.haomeiwen.com/subject/ckkcidtx.html