当前位置:实例文章 » C#开发实例» [文章]C#匿名函数,lambda表达式笔记

C#匿名函数,lambda表达式笔记

发布人:shili8 发布时间:2025-03-04 00:56 阅读次数:0

**C# 匿名函数与 Lambda 表达式笔记**

###什么是匿名函数?

匿名函数是一种不需要声明名称的函数,它可以直接在使用的地方定义。匿名函数通常用于事件处理器、委托等地方。

###什么是Lambda表达式?

Lambda 表达式是一种紧凑的表示匿名函数的方式,通常用于简化代码。

### 匿名函数与 Lambda 表达式的区别虽然匿名函数和 Lambda 表达式都可以用来定义不需要声明名称的函数,但它们有一个关键的区别:

* 匿名函数是使用 `delegate` 关键字定义的,而 Lambda 表达式则是使用 `=>` 操作符定义的。

### 匿名函数示例

csharp// 使用 delegate 定义匿名函数delegate int Func(int x, int y);
Func add = delegate (int x, int y) { return x + y; };
Console.WriteLine(add(3,4)); // 输出:7


### Lambda 表达式示例
csharp// 使用 => 操作符定义 Lambda 表达式Func<int, int, int> add = (x, y) => x + y;
Console.WriteLine(add(3,4)); // 输出:7


### 匿名函数与 Lambda 表达式的使用场景匿名函数和 Lambda 表达式都可以用于事件处理器、委托等地方。例如:

csharp// 使用 delegate 定义匿名函数作为事件处理器Button button = new Button();
button.Click += delegate { Console.WriteLine("按钮被点击!"); };


csharp// 使用 => 操作符定义 Lambda 表达式作为事件处理器Button button = new Button();
button.Click += (sender, e) => Console.WriteLine("按钮被点击!");


### 匿名函数与 Lambda 表达式的性能比较匿名函数和 Lambda 表达式在性能上没有明显差异。两者都可以快速执行。

### 总结匿名函数和 Lambda 表达式都是 C# 中用于定义不需要声明名称的函数的方式。虽然它们有一个区别,但是在使用场景上是相同的。选择哪种方式取决于个人偏好和代码风格。

### 最后本文介绍了 C# 匿名函数与 Lambda 表达式的基本概念、示例代码以及使用场景。希望通过阅读本文,读者能够更深入地理解匿名函数与 Lambda 表达式的区别和应用。

相关标签:c#笔记开发语言
其他信息

其他资源

Top