lambda表达式
# TypeScript 中的 Lambda 表达式
- 在 TypeScript 中,Lambda 表达式通常用于定义匿名函数。语法如下: (param1, param2, ...) => { /函数体/ }
// 不带参数的 Lambda 表达式
let greet = () => console.log("Hello!");
// 带一个参数的 Lambda 表达式
let square = x => x * x;
// 带多个参数的 Lambda 表达式
let add = (x, y) => x + y;
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
- TypeScript 中的 Lambda 表达式常常与数组方法(如 map、filter 等)一起使用,以提供更加简洁的函数式编程体验。
let numbers = [1, 2, 3, 4, 5];
let squares = numbers.map(x => x * x); // [1, 4, 9, 16, 25]
1
2
3
2
3
# C# 中的 Lambda 表达式
- 在 C# 中,Lambda 表达式的语法稍有不同,但思想是相同的。语法如下: (param1, param2, ...) => { /函数体/ }
// 不带参数的 Lambda 表达式
Func<string> greet = () => "Hello!";
// 带一个参数的 Lambda 表达式
Func<int, int> square = x => x * x;
// 带多个参数的 Lambda 表达式
Func<int, int, int> add = (x, y) => x + y;
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
注意,在 C# 中,我们需要为 Lambda 表达式指定类型,例如 Func<int, int>,它表示一个接受一个 int 参数并返回一个 int 的函数委托
与 TypeScript 类似,C# 中的 Lambda 表达式也常与 LINQ 查询表达式一起使用,提供了一种函数式编程的方式。
int[] numbers = { 1, 2, 3, 4, 5 };
var squares = numbers.Select(x => x * x); // [1, 4, 9, 16, 25]
1
2
2
# 相似之处
两种语言中的 Lambda 表达式都是为了定义匿名函数,提供更简洁的语法。 它们都支持带参数和不带参数的 Lambda 表达式。 都常与函数式编程风格的方法(如 TypeScript 的数组方法和 C# 的 LINQ)一起使用。
# 不同之处
C# 需要为 Lambda 表达式指定类型,而 TypeScript 则由编译器自动推断类型。 TypeScript 中的 Lambda 表达式语法更加简洁,不需要指定类型。 TypeScript 中的 Lambda 表达式更多应用于函数式编程,而 C# 则更加侧重于 LINQ 查询表达式。
# 总的来说
尽管语法有一些区别,但 C# 和 TypeScript 中的 Lambda 表达式概念是相似的,都旨在提供更简洁、更函数式的编程体验。作为一名Web 开发人员,您应该能够很容易地掌握 C# 中的 Lambda 表达式语法和用法。
编辑 (opens new window)
上次更新: 2024/08/09, 10:55:31