VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > c#编程 >
  • C#中的Lambda表达式

在C#中,Lambda表达式是一种简洁的表示匿名函数的方法。Lambda表达式主要用于创建委托或表达式树类型的实例,它们特别适用于在LINQ查询、事件处理程序和其他回调方法中作为参数传递。
 
Lambda表达式的基本语法如下:
 
(input-parameters) => expression-body
 
或者,如果Lambda表达式包含多个语句,你可以使用大括号来定义函数体,并使用`return`语句(如果函数体需要返回值):
 
(input-parameters) => { statement; }
 
这里的`input-parameters`是Lambda表达式的输入参数列表,它用圆括号括起来,并且参数之间用逗号分隔。如果Lambda表达式没有参数,则圆括号是可选的。`expression-body`或`{ statement; }`是Lambda表达式的主体,它定义了Lambda函数的行为。
 
### 示例
 
1. **无参数Lambda表达式**:
 
Func<string> greet = () => "Hello, World!";
Console.WriteLine(greet()); // 输出 "Hello, World!"
 
2. **带有一个参数的Lambda表达式**:
 
Func<int, bool> isEven = x => x % 2 == 0;
Console.WriteLine(isEven(4)); // 输出 "True"
 
3. **带有多个参数的Lambda表达式**:
 
Func<int, int, int> add = (x, y) => x + y;
Console.WriteLine(add(3, 5)); // 输出 "8"
 
4. **Lambda表达式中的语句块**:
 
Func<int, int> squareAndAddOne = x => {
    int square = x * x;
    return square + 1;
};
Console.WriteLine(squareAndAddOne(3)); // 输出 "10",因为 3*3 = 9, 9 + 1 = 10
 
5. **在LINQ中使用Lambda表达式**:
 
假设你有一个整数列表,并且你想找出所有的偶数:
 
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };
var evens = numbers.Where(n => n % 2 == 0).ToList();
foreach (var even in evens) {
    Console.WriteLine(even); // 输出 2, 4, 6
}
 
在这个例子中,`Where`方法接受一个Lambda表达式作为参数,这个Lambda表达式定义了找出偶数的条件。


最后,如果你对C#语言还有任何疑问或者需要进一步的帮助,请访问https://www.xin3721.com 本站原创,转载请注明出处:https://www.xin3721.com/ArticlecSharp/c49527.html


相关教程