C# 委託的發展 delegate, anonymous method and lambda

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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章