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