//系統自帶委托分2種
//1、Action 帶參數 無傳回值委托
//2、Func 帶參數 有傳回值委托
//Action 無參數
Action action1 = () => Console.WriteLine("這裡是Action無參數委托方法");
action1.Invoke();
//Action 有參數 參數最多16個 因為系統給寫好的最多16個 如果需要更多,則自己寫即可
Action<string,int,int> action = (name,id,age) => Console.WriteLine("{0}号選手{1}年齡{2}",id,name,age);
action.Invoke("張三豐",1,15);
//Func 有傳回值 無參數 傳回1
Func<int> func1 = () => 1;
Console.WriteLine(func1.Invoke());
//Func 有傳回值 有參數
//泛型類型順序 先參數 最後傳回值類型
Func<int, int, int, string> func2 = (int_1, int_2, int_3) => (int_1 + int_2 + int_3).ToString();
Console.WriteLine(func2.Invoke(5,6,8));
//注:類型可包括自己建立的類 比如長談的People