C#中匿名函数的使用

class Test
{
    delegatevoid TestDelegate(string s);
    staticvoid Test(string s)
    {
       Console.WriteLine(s);
    }

    staticvoid Main(string[] args)
    {
       // 原委托语法需要命名方法初始化
       TestDelegate testDelA = new TestDelegate(Test);

       // C# 2.0: 一个委托可以用内联代码初始化,内敛代码被称为“匿名方法”。
       // 这种方法需要一个字符串作为输入参数
       TestDelegate testDelB = delegate(strings) { Console.WriteLine(s); };

       // C# 3.0. 一个委托可以用一个lambda表达式进行初始化。
       // 该表达式也需要一个字符串作为输入参数(X)。 x的类型由编译器推断
       TestDelegate testDelC = (x) => { Console.WriteLine(x); };

       // 请求委托
       testDelA("Hello. My name isTest and I write lines.");
       testDelB("That's nothing. I'm anonymous.");
       testDelC("I'm a famous author."); 

       //保持在调试模式下打开控制台窗口
       Console.WriteLine("Press any key to exit.");
       Console.ReadKey();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值