美文网首页
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