无涯教程-C# - 匿名函数

41 阅读1分钟

匿名函数是一种没有名称的函数。换句话说,无涯教程可以说没有名称的函数称为匿名函数。

在C#中,有两种类型的匿名函数:

  • Lambda Expressions
  • Anonymous Methods

C#lambda表达式

Lambda表达式是一个匿名函数,可以使用它来创建委托。可以使用lambda表达式创建可以作为参数传递的本地函数。编写LINQ查询也很有帮助。

C#lambda表达式语法

(input-parameters) => expression

示例

using System;
namespace LambdaExpressions
{
    class Program
    {
        delegate int Square(int num);
        static void Main(string[] args)
        {
            Square GetSquare = x => x * x;
            int j = GetSquare(5);  
            Console.WriteLine("Square: "+j);
        }
    }
}

输出:

Square: 25

C#匿名方法

匿名方法提供与lambda表达式相同的功能,不同之处在于它允许省略参数列表。

using System;
namespace AnonymousMethods
{
    class Program
    {
        public delegate void AnonymousFun();
        static void Main(string[] args)
        {
            AnonymousFun fun = delegate () {
                Console.WriteLine("This is anonymous function");
            };
            fun();
        }
    }
}

输出:

This is anonymous function

参考链接

www.learnfk.com/csharp/c-sh…