前面我们有讲过 C# 中的函数,今天我们补充一点。
在 C# 中,支持一种函数叫做 “匿名函数”,即将一个 “内联” 语句或表达式,可在需要委托类型的任何地方使用。
我们可以使用 lambda 表达式或匿名方法来创建匿名函数。 微软官方建议使用 lambda 表达式,因为它们提供了更简洁和富有表现力的方式来编写内联代码。所以,我们这里也就使用了 lambda 表达式。
下面我们来看一个简单的示例:
using System;
namespace ConsoleApp27
{
class Program
{
static void Main(string[] args)
{
Action say = () => Console.WriteLine("Hello World.");
say();
}
}
}
运行结果:
Hello World.
既然是作为函数,肯定要可以通过传参的方式:
using System;
namespace ConsoleApp27
{
class Program
{
static void Main(string[] args)
{
Action<string> say = (s) => Console.WriteLine(s);
say("Hello World.");
}
}
}
运行结果:
Hello World.
大家还记得我们前面的函数示例,创建一个函数,计算任意两个数的和,今天我们将尝试使用 lambda 表达式 的方式重写它。
下面我们来看看具体代码:
using System;
namespace ConsoleApp27
{
class Program
{
static void Main(string[] args)
{
Func<int, int, int> sum = (x, y) =>
{
return x + y;
};
Console.WriteLine("Please enter first number:");
int firstNum = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Please enter second number:");
int SecondNum = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(sum(firstNum, SecondNum));
}
}
}
运行结果:
Please enter first number:
5
Please enter second number:
5
10