Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
404 of 1492 menu
◀ ▶

Метод FindIndex

Метод FindIndex класса List<T> принимает предикат и возвращает индекс первого совпадения или -1. Есть перегрузки с началом поиска.

Синтаксис

int index = list.FindIndex(match); int index = list.FindIndex(startIndex, match);

Пример

Давайте найдём индекс первого чётного:

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

Пример

Давайте начнём поиск с индекса 2:

using System; using System.Collections.Generic; class Program { static void Main() { List<int> nums = new List<int> {2, 4, 2, 5}; Console.WriteLine(nums.FindIndex(2, x => x == 2)); } }

Результат выполнения кода:

2

Пример

Давайте получим -1, если условие ложно для всех:

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 > 10)); } }

Результат выполнения кода:

-1

Пример

Давайте найдём индекс строки c:

using System; using System.Collections.Generic; class Program { static void Main() { List<string> items = new List<string> {"a", "b", "c", "d", "e"}; Console.WriteLine(items.FindIndex(s => s == "c")); } }

Результат выполнения кода:

2

Смотрите также

  • метод Find,
    который возвращает сам элемент
  • метод IndexOf,
    который ищет по значению
  • метод Exists,
    который проверяет наличие по условию
  • метод BinarySearch,
    который ищет в отсортированном списке
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить