C# 函數指標
C# 函數指標
資料來源: Google Bard
code
// 使用 delegate 傳遞函式名稱
public delegate int Calculate(int a, int b);
public static int Add(int a, int b)
{
return a + b;
}
public static int Multiply(int a, int b)
{
return a * b;
}
public static int RunCalculation(Calculate calculateFunction, int a, int b)
{
return calculateFunction(a, b);
}
// 使用 lambda 運算式傳遞函式名稱
public static int RunCalculation(Func<int, int, int> calculateFunction, int a, int b)
{
return calculateFunction(a, b);
}
// 使用 delegate 呼叫 Add() 函式
int result = RunCalculation(Add, 1, 2);
// 使用 lambda 運算式呼叫 Multiply() 函式
int result = RunCalculation((a, b) => Multiply(a, b), 1, 2);