zoukankan      html  css  js  c++  java
  • [C#学习笔记]Func委托与Action委托

    学习一项新知识的时候,最好的方法就是去实践它。

    前言

     《CLR via C#》这本神书真的是太有意思了!好的我的前言就是这个。

    Fun

    如果要用有输入参数,有返回值的委托,那么Func委托将满足你的要求。

    Func泛型委托引用了一个带有一个返回值的方法,它可以传递0或者多到16个参数类型,和一个返回类型。

    它可以没有传递参数,但是一定要有返回类型。

    Func<out TResult>
    Func<in T,out TResult>
    Func<in T1,in T2,...,in T16, out TResult> 

    in:输入参数

    out:输出参数,也就是返回值。

    看下面的代码:

    输出结果是:

    利用Func委托和Lambda表达式替换了字符串

    Action

     Action委托有两种方式:无参数无返回值的委托,有至少一个最多16个的参数无返回值的泛型委托。

    Action泛型委托根据输入参数个数的不同,Action委托有十六个重载。

    总结

    Action:无参数无返回值委托。

    Action<T>:泛型委托,无返回值,根据输入参数的个数不同有十六个重载。

    Func< out T>:无输入参数,有返回值。

    Func<in T,out T>:有输入参数,有返回值,根据输入参数个数不同,有十六个重载。

    Action和Func中可以使用Lambda和匿名方法处理方法体内逻辑。

  • 相关阅读:
    centos7物理机a start job is running for dev-mapper-centosx2dhome.device
    jenkins pipeline流水线
    nginx 加载慢 负载均衡不均衡
    山田预发环境发布脚本
    prometheus 监控容器
    maven私服安装使用
    日志清理
    ERROR 1046 (3D000) at line 1: No database selected
    网络工程学习经典书籍推荐
    每日一句
  • 原文地址:https://www.cnblogs.com/knqiufan/p/10480415.html
Copyright © 2011-2022 走看看