在 C# 中创建内联函数
在本教程中,我们将讨论在 C# 中创建内联函数的方法。
在 C# 中使用 Lambda 表达式创建内联函数
在 C 和 C++ 之类的编程语言中,内联函数用 inline
关键字声明。内联函数中的代码由编译器替换为函数调用。因此,使代码内联。遗憾的是,没有内置关键字可以在 C# 中声明内联函数。我们可以在 C# 中使用 lambda 表达式创建一个内联函数。Lambda 表达式用于在 C# 中创建匿名函数。=>
关键字用于编写 lambda 表达式。
以下代码示例向我们展示了如何在 C# 中使用 lambda 表达式创建内联函数。
using System;
namespace inline_function {
class Program {
static void Main(string[] args) {
Func<int, int, int> add = (x, y) => x + y;
Console.WriteLine(add(1, 2));
}
}
}
输出:
3
我们创建了一个内联函数,该函数以 C# 中的 lambda 表达式返回 1
和 2
的总和。我们创建了 add
函数,该函数使用 =>
关键字返回两个整数变量的和。Func<int, int, int>
指定参数的数据类型,而 Func<int, int, int>
中的最后一个 int
指定匿名函数的返回类型。我们还可以使用 Action<T1, T2>
关键字指定匿名函数如果我们不想返回任何东西。下面的代码示例向我们展示了如何使用 Action<T1, T2>
关键字创建内联函数,该内联函数不会在 C# 中返回任何值。
using System;
namespace inline_function {
class Program {
static void Main(string[] args) {
Action<int, int> sum = (x, y) => Console.WriteLine(x + y);
sum(5, 6);
}
}
}
输出:
11
我们创建了一个内联函数,该函数以 C# 中的 lambda 表达式返回 5
和 6
的总和。我们创建了 sum()
函数,该函数使用 =>
关键字返回两个整数变量的和。Action<int, int>
指定匿名函数的参数的数据类型。我们只能将 lambda 表达式用于一行代码。
在 C# 中使用 Lambda 语句创建内联函数
如果我们的代码中有多行代码,则必须使用 lambda 语句。Lambda 语句也用于声明可用作内联的匿名函数 C# 中的函数。在 lambda 语句中声明匿名函数与 lambda 表达式相似,唯一的区别是多行语句包含在 {};
中。以下代码示例向我们展示了如何使用 C# 中的 lambda 语句创建内联函数。
using System;
namespace inline_function {
class Program {
static void Main(string[] args) {
Action<int, int> sum = (x, y) => {
int s = x + y;
Console.WriteLine(s);
};
sum(6, 7);
}
}
}
输出:
13
我们创建了一个内联函数,用 C# 中的 lambda 语句显示 6
和 7
的总和。我们可以在 sum()
函数中编写多行代码。就像 lambda 表达式一样,有两种类型,一种是返回值的 Func<T,T-return>
,另一种是不返回值的 Action<T>
。
在 C# 中使用局部函数创建内联函数
局部函数是 C# 中另一个函数内包含的函数。本地功能只能由包含它的功能来访问。局部函数在 7.0 及更高版本的 C# 中可用。本地函数可用于提供 C# 中的内联函数的功能。以下代码示例向我们展示了如何使用 C# 中的局部函数创建内联函数。
using System;
namespace inline_function {
class Program {
static void Main(string[] args) {
void sum(int a, int b) {
Console.WriteLine(a + b);
}
sum(7, 11);
}
}
}
输出:
18
我们创建了一个内联函数,该内联函数使用 C# 中的局部函数返回 7
和 11
之和。声明局部函数与声明常规常规函数相同。它只是在没有访问说明的情况下且在另一个函数中声明的。
相关文章
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:198 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:171 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:187 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中发出 HTTP POST Web 请求
发布时间:2024/02/04 浏览次数:131 分类:编程语言
-
在 C# 中,可以使用 3 种主要方法来发出 HTTP POST Web 请求:WebClient 类,HttpWebRequest 类和 HttpClient 类。本教程将讨论在 C# 中发出 HTTP POST Web 请求的方法。使用 C# 中的 WebClient 类发出 HTTP POST Web 请求
在 C# 中运行命令提示符命令
发布时间:2024/02/04 浏览次数:130 分类:编程语言
-
Process 类可用于在 C# 中运行命令提示符命令。在 C# 中使用 Process.Start() 函数运行命令提示符命令
在 C# 中调整图像大小
发布时间:2024/02/04 浏览次数:203 分类:编程语言
-
有两种主要方法可用于在 C# 中调整图像的大小,Bitmap 类构造函数和 graphics.DrawImage()函数。在本教程中,我们将讨论在C#中调整图像大小的方法。我们将带您完成整个过程,从加载原始图像到保
在 C# 中下载图片
发布时间:2024/02/04 浏览次数:138 分类:编程语言
-
有 3 种主要方法可用于下载 C# 中的图片,WebClient.DownloadFile()函数,Bitmap 类和 Image.FromStream()函数。在 C# 中使用 WebClient 类下载图片 WebClient 类提供了用于向 C# 中的 URL 发送数据和从 URL 接收数据
在 C# 中使用秒表
发布时间:2024/02/04 浏览次数:139 分类:编程语言
-
我们可以使用 Stopwatch 类来计算 C# 中的经过时间。使用 C# 中的秒表类计算经过时间 Stopwatch 类在 C# 中准确测量经过的时间。
在 C# 中获取可执行路径
发布时间:2024/02/04 浏览次数:200 分类:编程语言
-
有 3 种主要方法可用于获取 C# 中程序的可执行路径,即 Assembly 类,AppDomain 类和 Path 类。本教程将介绍获取 C# 代码的可执行路径的方法。使用 C# 中的 Assembly 类获取可执行路径