用一个实例说说委托,匿名委托,Lamda表达式
C#到3.0中一直都在不断地提高,增加了很多特性,从2.0的匿名委托到现在的LAMDA表达式,为的就是让大家觉得语言越来越人性化。以下是我写的一个小DEMO,用来简单示例一下他们之间的关系。非常简单易懂。
Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class _delegate : System.Web.UI.Page
{
delegate string DelegateTest(string s);
public static string getString(string t)
{ return t; }
DelegateTest normalDelegate = new DelegateTest(getString);
DelegateTest anonymousDelegate = delegate(string a) { return a; };
DelegateTest lamada = s => { return s; };
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(normalDelegate("一般委托<br>"));
Response.Write(anonymousDelegate("匿名方法<br>"));
Response.Write(lamada("lamda表达式"));
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class _delegate : System.Web.UI.Page
{
delegate string DelegateTest(string s);
public static string getString(string t)
{ return t; }
DelegateTest normalDelegate = new DelegateTest(getString);
DelegateTest anonymousDelegate = delegate(string a) { return a; };
DelegateTest lamada = s => { return s; };
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(normalDelegate("一般委托<br>"));
Response.Write(anonymousDelegate("匿名方法<br>"));
Response.Write(lamada("lamda表达式"));
}
}
}