C#的匿名方法
2023-09-14 08:58:42 时间
匿名方法是在初始化委托时内联声明的方法。
例如下面这两个例子:
不使用匿名方法的委托:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication7 { class Program { public static int add(int x) { return x + 20; } delegate int otherdel(int param); public static void Main() { otherdel del = add; Console.WriteLine("{0}", del(20)); Console.WriteLine("{0}", del(10)); } } }
使用匿名方法的委托:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication7 { class Program { delegate int otherdel(int param); public static void Main() { otherdel del = delegate(int x) { return x + 20; }; Console.WriteLine("{0}", del(20)); Console.WriteLine("{0}", del(10)); } } }
两种结果是一样的。
使用匿名方法
1)声明委托变量时候作为初始化表达式。
2)组合委托时在赋值语句的右边。
3)为委托增加事件时在赋值语句的右边。
匿名方法语法
delegate (parameters ){implementationcode};
关键字 参数 语句块
匿名方法不会声明返回值类型。但是匿名方法返回值类型必须和委托返回值一样。
参数:参数数量,类型和修饰符必须和委托一样。
但是我们可以使圆括号为空,或省略圆括号来简化匿名方法的参数列表。但是仅在下面两项都为真的情况下才可以这么做。
1,委托的参数列表不包含任何out参数的委托。
2,匿名方法不使用任何参数。
例如下面:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication7 { class Program { delegate int otherdel(int param); public static void Main() { otherdel del = delegate { cleanup(); printMessage(); }; } } }
params参数:
如果委托参数包含params参数,那么params关键字就会被匿名方法的参数列表忽略。如下:
delegate int otherdel(int x,params int y); otherdel del = delegate(int x,int y) { ------------- };
相关文章
- C#生成Excel出现8000401a的错误的另一种解决办法。「建议收藏」
- C#设计模式——(创建型-简单工厂设计模式)
- C#设计模式——(创建型-工厂方法设计模式)
- C#实现Oracle批量写入数据的方法分享
- ToString()使用方法汇总(c#)
- C#获取系统版本信息方法
- C#透明窗体制作实现方法比较分析
- 使用C#处理WebBrowser控件在不同域名中的跨域问题
- 自定义实现Json字符串向C#对象转变的方法
- C#定位txt指定行的方法小例子
- C#处理JPEG头信息的方法
- c#创建Graphics对象的三种方法
- C#的编码规范详细说明
- c#基础学习之封装
- C#和asp.net中链接数据库中参数的几种传递方法实例代码
- c#哈希算法的实现方法及思路
- C#Socket粘包处理讲解示例
- c#唯一值渲染实例代码
- c#利用webmail邮件系统发送邮件示例分享
- c#并行编程示例分享
- SQLServer中调用C#类中的方法实例(使用.NET程序集)
- C#实现解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市的方法
- C#生成二维码的方法
- 在Linux上运行C#的方法
- C#WinForm实现Win7Aero透明效果代码
- C#线程间不能调用剪切板的解决方法
- C#统计字符串里中文汉字个数的方法
- C#使用this关键字实现串联构造函数调用方法
- C#处理文本文件TXT实例详解
- C#基础之匿名方法实例教程