Home > Backend Development > C#.Net Tutorial > What are Lambda expressions in C#?

What are Lambda expressions in C#?

王林
Release: 2023-09-08 14:25:15
forward
695 people have browsed it

What are Lambda expressions in C#?

Lambda expressions are a better way to represent anonymous methods. Both anonymous methods and lambda expressions allow you to define method implementations inline, however, anonymous methods explicitly require you to define the method's parameter types and return type.

An expression with an expression as its expression lambda body: (input−parameters) => Expression

Statement lambda with statement block as its body: (input−parameters) => { }

Any lambda expression can be converted to a delegate type. The delegate type that a lambda expression can be converted to is defined by the types of its parameters and return value. If the lambda expression does not return a value, it can be cast to one of the Action delegate types; otherwise, it can be cast to one of the Func delegate types.

static void Main(string[] args){
   Func<int, int> square = x => x * x;
   Console.WriteLine(square(5));
   Console.ReadLine();
}
Copy after login

=> A lambda expression with an expression on the right side of the operator is called an expression lambda. Expression lambda returns the result of an expression in the following basic form

Action line = () => Console.WriteLine();

Funccube = x => x * x * x;

Func testForEquality = (x, y) => x == y;

Func isTooLong = (int x, string s) => s .Length > x;

C# In 7.0, the C# language provides built-in support for tuples. You can provide a tuple as an argument to a lambda expression, and your lambda expression can also return a tuple.

Variables introduced in lambda expressions are not visible in the enclosing method.

A lambda expression cannot capture in, ref, or out parameters directly from the enclosing method.

The return statement in a lambda expression does not cause the enclosing method to return.

If the target of the jump statement is outside the lambda expression block, the lambda expression cannot contain a goto, break, or continue statement. It is also an error to use a jump statement outside a lambda expression block if the target is inside the lambda expression block.

The above is the detailed content of What are Lambda expressions in C#?. For more information, please follow other related articles on the PHP Chinese website!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template