罗列清单备查
一、C#2.0
1. Partial class 分部类
file1.cs
using System; public partial class MyClass { public void MyMethod1() { Console.WriteLine("MyMethod1 人工编写的代码"); } }
file2.cs
using System; public partial class MyClass { public void MyMethod2() { Console.WriteLine("MyMethod2 通常是自动生成的代码,如webService 之类"); } }
编译:
csc /out:lib.dll /t:library file1.cs file2.cs csc /out:App.exe /r:lib.dll app.cs
2. Generics 泛型
3. Static classes 静态类
静态类中不能有实例方法,没有实例构造器,可以有静态构造器,功能类似于面向过程语言中 Module(模块)的功能
using System; public static class UtilityClass { public static void Foo() { Console.WriteLine("Hello"); } }
using System; class App { static void Main() { UtilityClass.Foo(); } }
可以看出静态类是没有实例构造器的
非静态类是有实例构造器的
4. iterator 迭代器
5. Anomymous Methods 匿名方法
6. Nullable types 可空类型
7. ?? 操作符
object nullObj = null; object obj = new Object(); return nullObj ?? obj; // returns obj
二、 C# 3.0
1. LINQ(language-integrated query)
2. Object initializers 对象初始化器
3. Colletion initializers 集合初始化器
4. Anomymous types 匿名类型 (var)
5. Lambda expressions Lambda 表达式
6. Automatic properties 自动完成属性
7. Extension methods 扩展方法
三、 C# 4.0
1. Optional parameters and named arguments 可选参数和命名参数
四、参考资料
C# 4.0: MSDN Wikipedia What's New On C# 4.0
2015-1-2 补充一幅 C#演化图
未完