c#委托(1)

// 委托声明 -- 定义一个签名:
delegate double MathAction(double num);

class DelegateTest
{
// 符合委托声明的常规方法
static double Double(double input)
{
return input * 2;
}

static void Main()
{
// 使用一个命名方法实例化委托类型
MathAction ma = Double;

// 调用委托实例
double multByTwo = ma(4.5);
Console.WriteLine(multByTwo);

// 再用匿名方法来实例化委托类型
MathAction ma2 = delegate(double input)
{
return input * input;
};

double square = ma2(5);
Console.WriteLine(square);

// 最后用Lambda表达式来实例化委托类型
MathAction ma3 = s => s * s * s;
double cube = ma3(4.375);

Console.WriteLine(cube);
}
}

原文地址:https://www.cnblogs.com/mht91919/p/4538537.html