通過對(duì)比使用傳統(tǒng)的委托、匿名方法、Lambda表達(dá)式實(shí)現(xiàn)對(duì)方法的調(diào)用比較他們之間有何不同。
匿名方法:
必須明確參數(shù)類型,不用創(chuàng)建方法然后去調(diào)用,直接將方法寫到delegate委托里面。
將委托和實(shí)際方法的調(diào)用合二為一。
Lambda表達(dá)式:
將匿名方法中的delegate刪掉,在參數(shù)類型后面寫=>然后跟著方法體。
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 傳統(tǒng)委托 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表達(dá)式 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 編輯過