通過對比使用傳統的委托、匿名方法、Lambda表達式實現對方法的調用比較他們之間有何不同。
匿名方法:
必須明確參數類型,不用創建方法然后去調用,直接將方法寫到delegate委托里面。
將委托和實際方法的調用合二為一。
Lambda表達式:
將匿名方法中的delegate刪掉,在參數類型后面寫=>然后跟著方法體。
namespace _005_匿名方法
{
public partial class 匿名方法 : Form
{
public delegate int CalDelegate(int a, int b);
public 匿名方法()
{
InitializeComponent();
}
#region 匿名方法
private void btNiMing_Click(object sender, EventArgs e)
{
CalDelegate objCal = delegate (int a, int b)
{
return a + b;
};
int result = objCal(20, 30);
MessageBox.Show(result.ToString());
}
#endregion
#region 傳統委托
private void btDelgate_Click(object sender, EventArgs e)
{
CalDelegate objCal;
objCal = Add;
int result = objCal(20, 30);
MessageBox.Show(result.ToString());
}
static int Add(int a, int b)
{
return a + b;
}
#endregion
#region Lambda表達式
private void btLambad_Click(object sender, EventArgs e)
{
CalDelegate objCal = (int a, int b) =>
{
return a + b;
};
int result = objCal(20, 30);
MessageBox.Show(result.ToString());
}
#endregion
}
}
閱讀原文:原文鏈接
該文章在 2025/3/24 13:21:14 編輯過