C# 3.0语言规范
日期:2008年2月27日 作者:-
namespace N1
{
public static class E
{
public static void F(this object obj, int i) { }
public static void F(this object obj, string s) { }
}
}class A { }
class B
{
public void F(int i) { }
}class C
{
public void F(object obj) { }
}class X
{
static void Test(A a, B b, C c)
{
a.F(1); // E.F(object, int)
a.F("Hello"); // E.F(object, string)b.F(1); // B.F(int)
b.F("Hello"); // E.F(object, string)c.F(1); // C.F(object)
c.F("Hello"); // C.F(object)
}
}在这个例子中,B的方法优先于第一个扩展方法,而C的方法优先于所有两个扩展方法。
3 拉姆达表达式
C# 2.0中引入了匿名方法,允许在期望出现委托的时候以“内联(in-line)”的代码替代之。尽管匿名方法提供了函数式编程语言中的很多表达能力,但匿名方法的语法实在是太罗嗦了,并且很不自然。拉姆达表达式(Lambda expression)为书写匿名方法提供了一种更加简单、更加函数化的语法。
拉姆达表达式的书写方式是一个参数列表后跟=>记号,然后跟一个表达式或一个语句块。
expression:
assignment
non-assignment-expressionnon-assignment-expression:
- 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] 下一页
-
- C# 3.0语言规范 相关文章:
- C# 3.0语言规范 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
| ·为英文Windows XP安装中文语言包 |
| ·C语言图形函数 |
| ·C语言程序源代码下载 |
| ·Windows下C语言网络编程快速入门[多图] |
| ·讨论:到底C#是编译语言还是解释语言[多图] |
| ·注意:XHTML和HTML网页首先声明语言信息 |
| ·C语言基础教程(三)输入输出函数及控制流程语句 |
| ·数据结构C语言实现系列——线性表[多图] |
| ·WinMEnc V0.61 beta 多国语言版 |
| ·通用规范汉字表 |
| ·C语言接口与实现 |
| ·汇编语言集成编译器 V1.2 |
| ·高级语言C++程序设计编程范例与精解 |
| ·SMPlayer V0.5.60 多国语言版 |
| ·C语言精彩编程百例 |
| ·FTPRush V1.0.0 Build 626多国语言版 |
下一篇:.net 中委托与事件的理解
