.NET ez 2012-06-04
Action<T> 沒有回傳值的委派: 兩總寫法:
using System; namespace Test { class Program { static void Main(string[] args) { Action A1 = new Action(() => { Console.WriteLine("Action1"); }); //or Action A2 = () => { Console.WriteLine("Action2"); }; A1(); A2(); } } }
多個值的委派:
using System; namespace Test { class Program { static void Main(string[] args) { Action A1 = () => { Console.WriteLine("Action1"); }; Action<string> A2 = (x) => { Console.Write("Action2"); Console.WriteLine("\tx:" + x); }; Action<string, string> A3 = (x, y) => { Console.Write("Action3"); Console.Write("\tx:" + x); Console.WriteLine("\ty:" + y); }; Action<string, string, string> A4 = (x, y, z) => { Console.Write("Action4"); Console.Write("\tx:" + x); Console.Write("\ty:" + y); Console.WriteLine("\tz:" + z); }; A1(); A2("1"); A3("1", "2"); A4("1", "2", "3"); } } }
Func<T> 有回傳值的委派: 兩總寫法:
using System; namespace Test { class Program { static void Main(string[] args) { Func<bool> F1 = new Func<bool>(() => { Console.WriteLine("Func1"); return true; }); //or Func<bool> F2 = () => { Console.WriteLine("Func2"); return true; }; F1(); F2(); } } }
多個值的委派:
using System; namespace Test { class Program { static void Main(string[] args) { Func<string> F1 = () => { return "Func1"; }; Func<string, string> F2 = (x) => { return "Func2\tx:" + x; }; Func<string, string, string> F3 = (x, y) => { return "Func2\tx:" + x + "\ty:" + y; }; Func<string, string, string, string> F4 = (x, y, z) => { return "Func2\tx:" + x + "\ty:" + y + "\tz:" + z; }; Console.WriteLine(F1()); Console.WriteLine(F2("1")); Console.WriteLine(F3("1", "2")); Console.WriteLine(F4("1", "2", "3")); } } }
標籤: .NET