zoukankan      html  css  js  c++  java
  • C#中委托的发展与匿名函数

    匿名函数(C# 编程指南)

    匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。 可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数。

    共有两种匿名函数,以下主题中分别讨论了这些函数:

    C# 中委托的发展

    下面的示例演示从 C# 1.0 到 C# 3.0 委托创建过程的发展:

    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.
     */

    .net3.5之后,大部分时候匿名方法可以被lambda替代。

    地址:https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/statements-expressions-operators/anonymous-methods

    搜索:匿名方法(C# 编程指南)

  • 相关阅读:
    齐次坐标的理解
    BLEU (Bilingual Evaluation Understudy)
    tensorflow由于未初始化变量所导致的错误
    Beam Search(集束搜索/束搜索)
    nltk 的分词器punkt: ssl问题无法下载
    文件读写方式的对比
    import tensorflow 报错: tf.estimator package not installed.
    条件式变分自编码机(Conditional Variational Autoencoders)
    GoogLeNet 解读
    卷积的三种模式:full, same, valid
  • 原文地址:https://www.cnblogs.com/Tpf386/p/9945373.html
Copyright © 2011-2022 走看看