C#中匿名方法与委托的关系介绍
作者:Darren Ji
这篇文章介绍了C#中匿名方法与委托的关系,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
当对2个数实现加减乘除,其中的一个解决方案是通过委托来实现。如下:
class Program { private delegate int CaculateDel(int num1, int num2); static void Main(string[] args) { CaculateDel caculateDel = Add; Console.WriteLine(caculateDel.Invoke(1,2).ToString()); Console.ReadKey(); } static int Add(int num1, int num2) { return num1 + num2; } }
以上,把Add方法赋值给了CaculateDel类型的委托变量。
如果用匿名方法来实现,就是:
class Program { private delegate int CaculateDel(int num1, int num2); static void Main(string[] args) { CaculateDel caculateDel = delegate(int num1, int num2) { return num1 + num2; }; Console.WriteLine(caculateDel.Invoke(1,2).ToString()); Console.ReadKey(); } }
可见,匿名方法就是委托,使用匿名方法有了更好的灵活性,不需要事先把方法写"死"。
如果我们使用System.Diagnostics的Stopwatch的实例方法Reset、Start、Stop等来重置、开始、结束Stopwatch,用Stopwatch的ElapsedTickes属性来显示时间,我们可以发现匿名方法的效率比较高。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接