Метод Find
Метод Find класса List<T>
принимает Predicate<T> и возвращает
первый подходящий элемент или значение по умолчанию.
Синтаксис
T item = list.Find(match);
Пример
Давайте найдём первое число больше 3:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
Console.WriteLine(nums.Find(x => x > 3));
}
}
Результат выполнения кода:
4
Пример
Давайте получим 0, если ничего не найдено:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
Console.WriteLine(nums.Find(x => x > 10));
}
}
Результат выполнения кода:
0
Пример
Давайте найдём строку длиннее одного символа:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> items = new List<string> {"a", "bb", "c", "d", "e"};
Console.WriteLine(items.Find(s => s.Length > 1));
}
}
Результат выполнения кода:
"bb"
Пример
Давайте найдём индекс чётного через FindIndex:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
Console.WriteLine(nums.FindIndex(x => x % 2 == 0));
}
}
Результат выполнения кода:
1