using System;
using System.Linq;
public class CSharpLab
{ //宣告一個delegate, 自訂a, b二數運算的邏輯
delegate int myLogic(int a, int b);
public static void Test()
{ int x=3, y=5;
//原本的標準delegate寫法, 要額外宣告一個Method
calc(x, y, new myLogic(addMethod));
//省事一點的匿名寫法
calc(x, y, delegate(int a, int b) { return a+b; }); //再省下去,就來段黏巴達(Lambada)Lambda吧
calc(x, y, (a,b)=>a+b);
calc(x, y, (a,b)=>a-b);
calc(x, y, (a,b)=>a*b);
}
static void calc(int x, int y, myLogic cc)
{ Console.WriteLine(cc(x, y));
}
static int addMethod(int a, int b) { return a+b;
}
}