6.6 类型推断
来源:互联网 发布:重庆最美工商人投票 编辑:程序博客网 时间:2024/04/30 19:38
6.6 类型推断
我们曾经讨论过值的类型推断,知道在 C# 3.0 中用 var 关键字,在 F#中用 let 绑定。从本节开始,我们将讨论由 C# 和 F# 共有的另一个方面,当在 C# 中调用泛型方法时,如 Option.Some(清单 5.9)或 Option.Map(清单 6.13),可以显式指定类型参数值,像这样:
var dt = Option.Some<DateTime>(DateTime.Now);
var nt = dt.Map<DateTime, int>(d=> d.Year);
这种写法太冗长了,在前面的例子中,我们几乎从来不用这样写代码,因为 C# 能够对泛型方法调用进行类型推理,可以自动推断类型参数值,因此,在前面的示例,我们可以只写成dt.Map(d => d.Year)。
在 C# 中类型推断理的过程非常复杂,但运行良好,通常深入了解并不重要;如果真的需要详细了解,可以在 C# 语言规范 [ECMA 2006] 或深入 C# [Skeet 2008] 中找到完整的文档。类型参数值是从正常的方法参数值推断的,用匿名函数获得特殊的处理,使整个过程更顺畅;另外要注意,在 C# 3.0 中,参数的顺序并不重要。
0 0
- 6.6 类型推断
- 6.6 类型推断
- 类型推断
- 类型推断
- Objective-C类型推断
- 【Swift】类型推断
- 类型推断 var
- Lambda表达式类型推断
- 记录草稿---类型推断
- C++类型推断
- 变量-类型推断
- 类型参数的类型推断
- 类型参数的类型推断
- 6.6.1 F# 中函数调用的类型推断
- 6.6.1 F# 中函数调用的类型推断
- C#中的变量类型推断
- C#语言中的类型推断
- 蓝桥杯 逻辑推断类型题目
- 使用Hadoop打造私有云盘之API操作
- Uboot的启动流程--以友善之臂tiny4412开发板为例
- VCS引起的oracle数据库异常重启一例
- Catalan Number (卡特兰数)
- BIRCH算法学习
- 6.6 类型推断
- 如何制作私人网盘---利用hadoop如何制作网盘指导
- R语言绘图篇
- 0-1背包问题之分支限界法
- HDU 5097 Page Rank(模拟,矩阵运算)
- Decode Ways
- 【线性代数】正交向量与正交子空间
- R语言重抽样与自助法
- c# 子窗口关闭父窗口(适用于机器码激活)