C#论坛-玄机论坛-C#论坛-玄机宝盒-玄机类库-C#

 找回密码
 关闭注册

QQ登录

只需一步,快速开始

查看: 25686|回复: 64

[资源分享] C# 匿名方法及Lambda表达式(创建多线程中使用)

  [复制链接]
Solo 发表于 2014-11-4 20:28:05 | 显示全部楼层 |阅读模式

玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
如有疑问,请加入官方群询问

您需要 登录 才可以下载或查看,没有帐号?关闭注册

x
本帖最后由 Solo 于 2014-11-4 20:50 编辑

[mw_shl_code=csharp,true]
1.匿名方法
   定义:匿名方法不能直接在类中定义,而是在给委托变量赋值的时候,需要赋值一个方法,此时可以“现做现卖”,定义一个匿名方法传递给该委托。
   举实例说明:
   实例一:无参数,无返回值的一个匿名方法
     ////首先定义一个委托
     public delegate void Mydelegate();
    ////声明
     Mydelegate md=delegate(){
           Console.WriteLine("我是Andrew"); }
    ////调用委托
       md();


    实例二:有参数,无返回值的一个匿名方法
     ////首先定义一个委托
     public delegate void Mydelegate(string msg);
    ////声明
     Mydelegate md=delegate(string msg){
           Console.WriteLine("我是Andrew"+msg); }
    ////调用委托
       md("你是谁?");

实例三:有参数,有返回值的一个匿名方法
     ////首先定义一个委托
     public delegate int Mydelegate(int num1,int num2);
    ////声明
     Mydelegate md=delegate(int n1,int n2){////注意:匿名方法时,无需添加返回的类型
           return n1+n2;}
    ////调用委托
       md(1,2);  ////结果为3

2. Lambda表达式的语法格式:
     参数列表 => 语句或语句块
     [/mw_shl_code]
[mw_shl_code=csharp,true]
其中“参数列”中可包含任意个参数(与委托对应),如果参数列中有0个或1个以上参数,则必须使用括号括住参数列,如下:
     () => Console.Write("0个参数")
     I => Console.Write("1个参数时参数列中可省略括号,值为:{0}",i)
     (x,y) => Console.Write("包含2个参数,值为:{0}*{1}",x,y)

实例一:无参数,无返回值的一个匿名方法     ////首先定义一个委托
     public delegate void Mydelegate();
    ////声明
     Mydelegate md=()=>{
           Console.WriteLine("我是Andrew"); }
    ////调用委托
       md();


    实例二:有参数,无返回值的一个匿名方法
     ////首先定义一个委托
     public delegate void Mydelegate(string msg);
    ////声明
     Mydelegate md=m=>{
           Console.WriteLine("我是Andrew"+m); }
    ////调用委托
       md("你是谁?");

实例三:有参数,有返回值的一个匿名方法
     ////首先定义一个委托
     public delegate int Mydelegate(int num1,int num2);
    ////声明
     Mydelegate md=(x,y)=>{////注意:匿名方法时,无需添加返回的类型
           return x+y;}
    ////调用委托
       md(1,2);  ////结果为3





    [/mw_shl_code]



评分

参与人数 2紫晶 +40 收起 理由
君临 + 30 玄机见证你的崛起.!
佐佑 + 10 建议对代码使用代码高亮~

查看全部评分

玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复

使用道具 举报

老段啦 发表于 2014-11-5 15:37:01 | 显示全部楼层
学习了
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复

使用道具 举报

老段啦 发表于 2014-11-5 15:41:14 | 显示全部楼层
原来是这样  学习了
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

 楼主| Solo 发表于 2014-11-6 01:14:22 | 显示全部楼层
老段啦 发表于 2014-11-5 15:41
原来是这样  学习了

老段,还不错吧~
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

老段啦 发表于 2014-11-6 09:14:30 | 显示全部楼层
Solo 发表于 2014-11-6 01:14
老段,还不错吧~

非常不错   君临的视频  那时候这个点真没理解
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

 楼主| Solo 发表于 2014-11-6 10:07:25 | 显示全部楼层
老段啦 发表于 2014-11-6 09:14
非常不错   君临的视频  那时候这个点真没理解

很好,喜欢就好啊~
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

老段啦 发表于 2014-11-7 08:51:08 | 显示全部楼层
再复习下
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复

使用道具 举报

 楼主| Solo 发表于 2014-11-7 09:05:38 | 显示全部楼层

嗯,加油~
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

inghot 发表于 2014-11-7 09:29:08 | 显示全部楼层
这个真不错。。。
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

lcylcyll 发表于 2014-11-12 12:31:48 | 显示全部楼层
真不错...我还是看委托
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 关闭注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

QQ|玄机论坛

GMT+8, 2024-3-28 23:58 , Processed in 0.223144 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表