C# 委托,Lambda表达式 and Swift 委托,闭包
来源:互联网 发布:51cto数据库.zip 编辑:程序博客网 时间:2024/05/22 00:06
C#委托
是指向方法的类型。
委托声明
在无方法体的方法前添加关键字delegate。
delegate int del(int x, int y);
委托调用
用方法名称实例化委托,赋值给一个委托类型的变量,然后将变量当作全局方法调用。
del obj = new del(delFunc);Console.WriteLine(obj(10, 10)); // print 100
Swift委托
一般指向协议的变量或常量。
委托声明
protocol DiceGameDelegate { func game()}class Game { var delegate: DiceGameDelegate? fun play(){ delegate?.game() }}class DiceGameTracker: DiceGameDelegate { func game() { println("game play") }}
委托调用
直接调用协议的属性和方法。
let tracker = DiceGameTracker()let game = Game()game.delegate = trackergame.play() // print game play
C# Lambda表达式
用于创建委托类型的匿名函数
delegate int del(int x, int y);void calc(del obj){ Console.WriteLine(obj(10, 10)); }static void Main(string[] args){ // 调用方法,传递参数为Lambda表达式 calc((x, y) => { return x * y; }); // print 100}
仅当 lambda 只有一个输入参数时,括号才是可选的;否则括号是必需的。 括号内的两个或更多输入参数使用逗号加以分隔:
(x, y) => x * y
有时,编译器难以或无法推断输入类型。 如果出现这种情况,你可以按以下示例中所示方式显式指定类型:
(int x, int y) => x * y
使用空括号指定零个输入参数:
() => Console.WriteLine("void");
Swift 闭包
函数代码块,可以在代码中被传递和使用
func calc(closure:(Int, Int) -> Int){ println(closure(10,10))}// 调用方法,传递参数为闭包calc({ (x, y) -> Int in return x * y})// print 100
有时,编译器难以或无法推断输入类型。 如果出现这种情况,你可以按以下示例中所示方式显式指定类型:
(Int x, Int y) -> Int in x * y
使用空括号指定零个输入参数,使用Void表示无返回值:
() -> Void in println("void")
0 0
- C# 委托,Lambda表达式 and Swift 委托,闭包
- C# 委托-lambda表达式
- C# Action 委托 + lambda 表达式
- c#委托与Lambda表达式
- c# 委托、事件、lambda表达式
- C#委托/Lambda表达式/事件
- C#委托,lambda表达式联系,
- C#教程:作为委托的Lambda表达式
- 详解C#委托、时间和Lambda表达式
- 解析C#委托、时间和Lambda表达式
- c#之委托、匿名方法、Lambda表达式
- C#中的委托和Lambda表达式
- C#中委托和Lambda表达式
- C# 委托 事件 匿名函数 Lambda表达式
- c#委托和lambda表达式(一)
- c#委托和lambda表达式(二)
- C# 委托用法、匿名方法、Lambda表达式
- 委托使用lambda表达式
- php ci框架 网站的传值 mvc框架的应用
- 无插件Vim编程技巧
- RedHat7改密码与系统修复
- 用java实现二叉树相关操作(前序建树,前中后递归非递归遍历,层序遍历)
- 设置UIButton的文字显示位置、字体的大小、字体的颜色
- C# 委托,Lambda表达式 and Swift 委托,闭包
- weblogic 部署以及在myEclipse中部署
- Web压力测试工具webbench
- Java正则表达式匹配URL中的host
- Codeforces 671A Recycling Bottles
- SERVLETJSP学习(四)—— JSP基本语法 、JSP运行原理
- 堆排序
- apache commons组件地址
- 解决阿里云postfix邮件发不出去的问题