C# Q & A


How to use lambda expressions in C#?

Lambda expressions are a concise way to define anonymous methods or functions in C#. They provide a convenient way to create small, inline functions without the need to declare a separate method. Lambda expressions are often used in scenarios that require passing functions as arguments, such as LINQ queries, event handlers, and delegates. To use lambda expressions in C#, follow these steps:


  1. Lambda Expression Syntax: Lambda expressions have a specific syntax consisting of the lambda operator `=>`. The left side of the operator represents the input parameters, and the right side represents the expression or statement to be executed. For example, `(x => x * 2)` is a lambda expression that takes a single parameter `x` and returns `x` multiplied by 2.


  1. Assign to Delegates or Use Inline: You can assign lambda expressions to delegate types or use them inline where a delegate is expected. For example, you can create a delegate of type `Func<int, int>` and assign a lambda expression to it:
Func<int, int> multiplyByTwo = x => x * 2;
int result = multiplyByTwo(5); // result is 10
  1. Lambda Expression with Multiple Parameters: Lambda expressions can have multiple parameters by enclosing them in parentheses. For example, `(x, y) => x + y` represents a lambda expression that takes two parameters `x` and `y` and returns their sum.


  1. Use in LINQ Queries: Lambda expressions are commonly used in LINQ (Language Integrated Query) to filter, project, and manipulate collections of data. For instance:
var evenNumbers = numbers.Where(x => x % 2 == 0);

In this example, the lambda expression `x => x % 2 == 0` is used to filter even numbers from the `numbers` collection.

Lambda expressions are a powerful feature in C# that allows you to create concise, inline functions, making your code more readable and expressive. They are widely used in modern C# development, particularly in LINQ queries and event handling scenarios.

Previously at
Flag Argentina
time icon
Experienced Backend Developer with 6 years of experience in C#. Proficient in C#, .NET, and Java.Proficient in REST web services and web app development.