zoukankan      html  css  js  c++  java
  • 【转】.net 匿名函数的变化

    在 C# 1.0 中,您通过使用在代码中其他位置定义的方法显式初始化委托来创建委托的实例。C# 2.0 引入了匿名方法的概念,作为一种编写可在委托调用中执行的未命名内联语句块的方式。C# 3.0 引入了 Lambda 表达式,这种表达式与匿名方法的概念类似,但更具表现力并且更简练。这两个功能统称为“匿名函数”。通常,针对 .NET Framework 版本 3.5 及更高版本的应用程序应使用 Lambda 表达式。

    class Test
    {
        
    delegate void TestDelegate(string s);
        
    static void M(string s)
        {
            Console.WriteLine(s);
        }

        
    static void Main(string[] args)
        {
            
    // Original delegate syntax required 
            
    // initialization with a named method.
            TestDelegate testdelA = new TestDelegate(M);

            
    // C# 2.0: A delegate can be initialized with
            
    // inline code, called an "anonymous method." This
            
    // method takes a string as an input parameter.
            TestDelegate testDelB = delegate(string s) { Console.WriteLine(s); };

            
    // C# 3.0. A delegate can be initialized with
            
    // a lambda expression. The lambda also takes a string
            
    // as an input parameter (x). The type of x is inferred by the compiler.
            TestDelegate testDelC = (x) => { Console.WriteLine(x); };

            
    // Invoke the delegates.
            testdelA("Hello. My name is M and I write lines.");
            testDelB(
    "That's nothing. I'm anonymous and ");
            testDelC(
    "I'm a famous author.");

            
    // Keep console window open in debug mode.
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        } 
    }
    /* Output:
        Hello. My name is M and I write lines.
        That's nothing. I'm anonymous and
        I'm a famous author.
        Press any key to exit.
     
    */
  • 相关阅读:
    MySQL 安装和配置
    其它 Google Chrome 已停止工作
    VUE 父组件和子组件相互传值 组件之间的数据传递
    SpringBlade 源码 个性化修改 添加字典时 自动填充字典值
    MyBatis-Plus SpringBlade 生成代码时 啥内容都没有 只有目录
    Oracle IIS部署报错
    pycharm连接sqlite后打开db文件不显示表的问题
    Hbase集群搭建以及启动(单点启动,群起)
    Flume的put和take事务
    稀疏数组学习
  • 原文地址:https://www.cnblogs.com/SALIN/p/1863727.html
Copyright © 2011-2022 走看看