Anonymous Methods 是 C#2.0的新特性之一,它允許我們?cè)诖a中創(chuàng)建一個(gè)內(nèi)置的沒(méi)有方法名的方法,將代碼與委托實(shí)例相關(guān)聯(lián),從而使委托的實(shí)例化工作更加直觀和方便,提高了代碼的可讀性和可維護(hù)性。下面來(lái)看一個(gè)簡(jiǎn)單的匿名方法的使用:
PRivate int[] _integers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] evenIntegers = Array.FindAll(_integers, delegate(int integer)
{
return (integer%2 == 0);
}
);
上面的代碼使用了匿名方法來(lái)獲得數(shù)組中能被2整除的數(shù),其中的匿名方法是:
delegate(int integer)
{
return (integer%2 == 0);
}
如果我們不用匿名方法,我們就需要專門創(chuàng)建一個(gè)方法,如下:
private int[] _integers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] evenIntegers = Array.FindAll(_integers, IsEven);
private bool IsEven(int integer)
{
return (integer%2 == 0);
}
匿名方法用于那種方法比較簡(jiǎn)單,而且不會(huì)在其他地方被調(diào)用的情況,我們還可以像下面這樣用匿名方法:
button1.Click +=
delegate
{
MessageBox.Show("Hello");
};
http://pw.VEVb.com/archive/2006/06/24/434600.html
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注