C# List Find (Search List With Lambda)

This C# example demonstrates the Find method on the List type. It uses a lambda expression.
List, Find. A List can be searched imperatively. This often involves a foreach-loop. It can be searched instead with the Find method: this often uses a lambda expression. Find makes code clearer in some program contexts.List
Example. Instead of using a foreach-loop with an if-statement, you can use the Find instance method on List. Here we see that it also accepts a Predicate, which you can specify as a lambda expression. It returns the first match.PredicateLambdas

Here: This code loops through each int value in the List, starting at the beginning, and tests each one to see if it is greater than 20.

Return: The value 23 is returned. The parameter to the Find method is a lambda expression: a Predicate instance.

C# program that uses Find method on List using System; using System.Collections.Generic; class Program { static void Main() { List<int> list = new List<int>(new int[] { 19, 23, 29 }); // Finds first element greater than 20 int result = list.Find(item => item > 20); Console.WriteLine(result); } } Output 23
To search backwards, use the FindLast method, which would return 29 in the example above. It will scan the List from the last element to the first. There are also FindIndex and FindLastIndex methods you can use.
Discussion. Another useful method on the List type that can be used to search a List is the Exists method. This receives a Predicate parameter and returns a bool value indicating whether the element was found.Exists

FindAll: The FindAll method on List, which is an instance method that returns a new List with the same element type, is also available.

Tip: If you want to find all the matching elements based on a Predicate, FindAll is useful.

Loops. In situations where the exact behavior of the List code is important, you can use for and foreach loops with List. This can sometimes also be faster than methods that receive delegates.Delegates
Summary. A List can be searched with built-in methods and lambda expressions. These methods are convenient and fast. They can help you place the emphasis on other logic in your program. They reduce syntax noise.
© 2007-2019 Sam Allen. Every person is special and unique. Send bug reports to
Dot Net Perls