C#2.0至4.0 的一些特性

罗列清单备查

一、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# 2.0: MSDN   Wikipedia

C# 3.0: MSDN   Wikipedia

C# 4.0: MSDN   Wikipedia   What's New On C# 4.0 

2015-1-2 补充一幅 C#演化图

未完

原文地址:https://www.cnblogs.com/Aphasia/p/4191649.html