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