C# 委托的发展 delegate, anonymous method and lambda

来源:互联网 发布:linux 播放器剪辑 编辑:程序博客网 时间:2024/05/01 16:53

delegate int Add(int firstNumber, int secondNumber);

NET 1.x (1.0 - 1.1) (C# 1.0)

private int AddNumbers(int firstNumber, int secondNumber){    return firstNumber + secondNumber;}Add add = new Add(this.AddNumbers);int result = add(1,2));

.NET 2.0 - 3.0 (C# 2.0):anonymous methods
Add add = delegate(int firstNumber, int secondNumber){    return firstNumber + secondNumber;};

.NET 3.5 (Type 1) (C# 3.0):Lambda
Add add = (firstNumber, secondNumber) => firstNumber + secondNumber;

.NET 3.5 (Type 2) (C# 3.0):Lambda
public delegate TResult Func<T1, T2, TResult>(T1 arg1, T2 arg2);Func<int, int, int> add = (firstNumber, secondNumber) => firstNumber + secondNumber;

0 0