C#匿名方法和Lambda表达式
|
admin
2025年3月22日 7:48
本文热度 1442
|
通过对比使用传统的委托、匿名方法、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 编辑过