using System;
using System.Linq;
namespace DelegateSample
{
class Program
{
static void Main(string[] args)
{
// 定義一個 delegate 來進行字串轉換
Func<string, string> FuncToUpper = str => str.ToUpper();
// 定義字串陣列
string[] words = { "orange", "apple", "Article", "elephant" };
// 使用方法 1:直接丟進 Select 內跑並輸出
words.Select(FuncToUpper).ToList()
.ForEach(s => Console.WriteLine(s));
// 使用方法 2:把 delegate 直接當成 Method 使用
foreach (var w in words)
{
Console.WriteLine(FuncToUpper(w));
}
}
}
}
該方式等於是把該 Method 內使用到的 Method 放在其中,不用在 Method 外建立一個 Method,整體可讀性增加不少
星期六, 6月 12, 2021
[C#] Delegate - Method 使用
技術社群看到的 delegate 使用方式,直接拿 Func<T,TResult> Delegate 範例來記錄
沒有留言:
張貼留言