zoukankan      html  css  js  c++  java
  • 匿名方法就是委托

    当对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属性来显示时间,我们可以发现匿名方法的效率比较高。

  • 相关阅读:
    水杯倒水问题
    判断算24
    困难串
    Hadoop环境搭建
    GWT+Hadoop+Hbase搭建(转)
    Vector与ArrayList的区别
    Java+Eclipse 环境配置
    关于颜色的宏定义.
    xnatouch for iphone!!
    What's new iphone 3GS
  • 原文地址:https://www.cnblogs.com/darrenji/p/3907636.html
Copyright © 2011-2022 走看看