C#中的Lambda例子大全

发布于 2023-07-03  92 次阅读


Lambda好用能简化编程

委托类型的 Lambda 表达式:

// 定义一个接受两个整数参数并返回它们的和的委托类型
Func<int, int, int> addFunc = (a, b) => a + b;
int result = addFunc(3, 5); // 调用委托并执行 Lambda 表达式
Console.WriteLine(result); // 输出:8

集合的遍历和筛选:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

// 使用 Lambda 表达式遍历集合并输出每个元素
numbers.ForEach(num => Console.WriteLine(num));

// 使用 Lambda 表达式筛选集合中的偶数
List<int> evenNumbers = numbers.Where(num => num % 2 == 0).ToList();

排序:

List<string> names = new List<string> { "Alice", "Bob", "Charlie", "David" };

// 使用 Lambda 表达式对字符串列表进行排序
names.Sort((name1, name2) => name1.Length.CompareTo(name2.Length));

// 输出排序后的结果
foreach (string name in names)
{
    Console.WriteLine(name);
}

LINQ 查询:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

// 使用 Lambda 表达式进行 LINQ 查询,获取大于 3 的数字
var query = numbers.Where(num => num > 3);

// 遍历查询结果并输出
foreach (int num in query)
{
    Console.WriteLine(num);
}

Lambda 表达式的语法使用 => 符号将参数列表与表达式体分隔开来。它可以用于创建匿名函数、简化代码逻辑以及在 LINQ 查询中进行筛选、排序和投影等操作。