/*
*
* 匿名函数 --> 不记名函数 C#2.0引进的
* lambda表达式 --> C#3.0引进的
*/
using System;
namespace 匿名函数lambda表达式
{
// 声明一个委托不带参数的委托
// public delegate void myDelegate();
// 声明一个带参数的委托
// public delegate void myDelegate(string name);
//声明一个带参数带返回值的委托
public delegate string myDelegate(string name);
class MainClass
{
public static void Test () {
Console.WriteLine ("这是一个不带参数的委托");
}
public static void Main (string[] args)
{
// 演示传统的委托
// myDelegate d0 = new myDelegate (MainClass.Test);
// d0 ();
// d0.Invoke ();
// 匿名函数 - callback 回调函数
// myDelegate d1;
// d1 = delegate () {
// Console.WriteLine ("这是一个匿名函数");
// };
// d1 ();
// 带参数的匿名函数
// myDelegate d2;
// d2 = delegate (string name) {
// Console.WriteLine ("Hi~" + name);
// };
// d2 ("你好");
// lamda表达式
// myDelegate d3;
// d3 = (string name) => {
// Console.WriteLine ("Hi~" + name);
// };
// d3 ("long");
myDelegate d4;
d4 = (string name) => name + "你好";
Console.WriteLine (d4("中国"));
}
}
}