C# 7.0 引入了 Out variables 和 Tuple 类型,可以方便地从 Lambda 表达式中返回多个值。同时,使用嵌套 Lambda 表达式时,可以使用 C# 7.0 引入的局部函数来提高代码的可读性和复用性。
示例代码如下:
using System;
class Program
{
static void Main()
{
// 使用 Tuple 类型返回多个值
(int sum, int product) result = Compute(5, 4);
Console.WriteLine($"Sum: {result.sum}, Product: {result.product}");
// 使用 Out variables 返回多个值
Compute(6, 7, out int sum, out int product);
Console.WriteLine($"Sum: {sum}, Product: {product}");
// 嵌套 Lambda 表达式和局部函数
Func<int, int, int> outer = (a, b) =>
{
int Inner(int x, int y) => x + y; // 定义局部函数
return Inner(a, b);
};
Console.WriteLine(outer(3, 2)); // 输出 5
}
static (int, int) Compute(int a, int b)
{
int sum = a + b;
int product = a * b;
return (sum, product);
}
static void Compute(int a, int b, out int sum, out int product)
{
sum = a + b;
product = a * b;
}
}