tnblog
首页
视频
资源
登录

委托、系统委托、lamdba表达式

4809人阅读 2019/11/17 17:06 总访问:46817 评论:5 收藏:0 手机
分类: .NET

 委托:本质是方法指针

> 作用:进行方法传递,方法可以当作一个参数进行传递

与泛型作比较:泛型是把一个类型当作参数传递 

C#里边传递方法就需要借助委托


使用委托的一般步骤
1、定义委托
           public delegate 返回值 方法名 (参数);
2、委托可以关联方法
3、执行委托,就相当于执行方法


示例一:
图片

图片

调试效果:

图片

  
示例二
图片
调用
图片
调试效果
图片


系统委托
作用:简化委托的定义,上述的几种情况系统都已经定义好,使用时直接使用,不需要重复定义。

>系统委托的主要分类:
    1、Action:无返回值,有0-16个参数
    2、Func:又返回值,有0-16个参数

  
示例:
图片

系统委托还有Predicate(返回值类型为bool)、Comparison(返回值类型为int),皆可以用Func代替。
示例:
图片



lamdba表达式
作用:
lamdba表达式可以简化方法的定义
语法:(方法参数)=>{方法体};
    例如:无参无返回值的lamdba表达式
                ( )=>{ };

    又如:一个
参无返回值的lamdba表达式
            
 ( a)=>{ };
    再如:一个
参有返回值的lamdba表达式
            
 ( a)=>{ return a*a};
    还如:两个
参有返回值的lamdba表达式
            
 ( a,b)=>{ return a*b};
示例:

图片
调试效果
图片



评价
……
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术