List<T>.IndexOf Метод

Определение

Возвращает отсчитываемый от нуля индекс первого вхождения значения в списке List<T> или в его части.

Перегрузки

IndexOf(T, Int32)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начиная с заданного индекса и до последнего элемента.

IndexOf(T, Int32, Int32)

Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс его первого вхождения в диапазоне элементов списка List<T>, начинающемся с заданного индекса и содержащем указанное число элементов.

IndexOf(T)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения, найденного в пределах всего списка List<T>.

Примеры

В следующем примере показаны все три перегрузки IndexOf метода. List<T>Создается строка с одной записью, которая появляется дважды в позиции индекса 0 и позиции индекса 5. IndexOf(T)Перегрузка метода выполняет поиск в списке с начала и находит первое вхождение строки. IndexOf(T, Int32)Перегрузка метода используется для поиска в списке, начиная с позиции индекса 3, и продолжается до конца списка и находит второе вхождение строки. Наконец, IndexOf(T, Int32, Int32) перегрузка метода используется для поиска в диапазоне двух записей, начиная с позиции индекса два; она возвращает значение-1, так как в этом диапазоне нет экземпляров строки поиска.

using namespace System;
using namespace System::Collections::Generic;

void main()
{
    List<String^>^ dinosaurs = gcnew List<String^>();

    dinosaurs->Add("Tyrannosaurus");
    dinosaurs->Add("Amargasaurus");
    dinosaurs->Add("Mamenchisaurus");
    dinosaurs->Add("Brachiosaurus");
    dinosaurs->Add("Deinonychus");
    dinosaurs->Add("Tyrannosaurus");
    dinosaurs->Add("Compsognathus");

    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs )
    {
        Console::WriteLine(dinosaur);
    }

    Console::WriteLine("\nIndexOf(\"Tyrannosaurus\"): {0}", 
        dinosaurs->IndexOf("Tyrannosaurus"));

    Console::WriteLine("\nIndexOf(\"Tyrannosaurus\", 3): {0}", 
        dinosaurs->IndexOf("Tyrannosaurus", 3));

    Console::WriteLine("\nIndexOf(\"Tyrannosaurus\", 2, 2): {0}", 
        dinosaurs->IndexOf("Tyrannosaurus", 2, 2));
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

IndexOf("Tyrannosaurus"): 0

IndexOf("Tyrannosaurus", 3): 5

IndexOf("Tyrannosaurus", 2, 2): -1
 */
using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        List<string> dinosaurs = new List<string>();

        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Amargasaurus");
        dinosaurs.Add("Mamenchisaurus");
        dinosaurs.Add("Brachiosaurus");
        dinosaurs.Add("Deinonychus");
        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Compsognathus");

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine("\nIndexOf(\"Tyrannosaurus\"): {0}",
            dinosaurs.IndexOf("Tyrannosaurus"));

        Console.WriteLine("\nIndexOf(\"Tyrannosaurus\", 3): {0}",
            dinosaurs.IndexOf("Tyrannosaurus", 3));

        Console.WriteLine("\nIndexOf(\"Tyrannosaurus\", 2, 2): {0}",
            dinosaurs.IndexOf("Tyrannosaurus", 2, 2));
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

IndexOf("Tyrannosaurus"): 0

IndexOf("Tyrannosaurus", 3): 5

IndexOf("Tyrannosaurus", 2, 2): -1
 */
Imports System.Collections.Generic

Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs As New List(Of String)

        dinosaurs.Add("Tyrannosaurus")
        dinosaurs.Add("Amargasaurus")
        dinosaurs.Add("Mamenchisaurus")
        dinosaurs.Add("Brachiosaurus")
        dinosaurs.Add("Deinonychus")
        dinosaurs.Add("Tyrannosaurus")
        dinosaurs.Add("Compsognathus")

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus""): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus"))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 3): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 3))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 2, 2): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 2, 2))

    End Sub
End Class

' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Deinonychus
'Tyrannosaurus
'Compsognathus
'
'IndexOf("Tyrannosaurus"): 0
'
'IndexOf("Tyrannosaurus", 3): 5
'
'IndexOf("Tyrannosaurus", 2, 2): -1

IndexOf(T, Int32)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начиная с заданного индекса и до последнего элемента.

public:
 int IndexOf(T item, int index);
public int IndexOf (T item, int index);
member this.IndexOf : 'T * int -> int
Public Function IndexOf (item As T, index As Integer) As Integer

Параметры

item
T

Объект для поиска в List<T>. Для ссылочных типов допускается значение null.

index
Int32

Индекс (с нуля) начальной позиции поиска. Значение 0 (ноль) действительно в пустом списке.

Возвращаемое значение

Int32

Отсчитываемый от нуля индекс первого вхождения элемента item в диапазоне элементов списка List<T>, начиная с позиции index и до конца списка, если элемент найден; в противном случае значение –1.

Исключения

index находится вне диапазона допустимых индексов для List<T>.

Комментарии

List<T>Поиск выполняется в прямом направлении index и заканчивается на последнем элементе.

Этот метод определяет равенство с помощью компаратора проверки на равенство по умолчанию EqualityComparer<T>.Default для T типа значений в списке.

Этот метод выполняет линейный поиск. Таким образом, этот метод является операцией O (n), где n — число элементов от index до конца List<T> .

См. также раздел

Применяется к

IndexOf(T, Int32, Int32)

Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс его первого вхождения в диапазоне элементов списка List<T>, начинающемся с заданного индекса и содержащем указанное число элементов.

public:
 int IndexOf(T item, int index, int count);
public int IndexOf (T item, int index, int count);
member this.IndexOf : 'T * int * int -> int
Public Function IndexOf (item As T, index As Integer, count As Integer) As Integer

Параметры

item
T

Объект для поиска в List<T>. Для ссылочных типов допускается значение null.

index
Int32

Индекс (с нуля) начальной позиции поиска. Значение 0 (ноль) действительно в пустом списке.

count
Int32

Число элементов в диапазоне, в котором выполняется поиск.

Возвращаемое значение

Int32

Отсчитываемый от нуля индекс первого вхождения item в диапазоне элементов списка List<T>, который начинается с позиции index и содержит count элементов, если искомый объект найден; в противном случае значение –1.

Исключения

index находится вне диапазона допустимых индексов для List<T>.

-или- Значение параметраcount меньше 0.

-или- index и count не указывают допустимый раздел в List<T>.

Комментарии

List<T>Поиск выполняется в прямом направлении index и заканчивается в index плюс count минус 1, если count больше 0.

Этот метод определяет равенство с помощью компаратора проверки на равенство по умолчанию EqualityComparer<T>.Default для T типа значений в списке.

Этот метод выполняет линейный поиск. Таким образом, этот метод является операцией O (n), где ncount .

См. также раздел

Применяется к

IndexOf(T)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения, найденного в пределах всего списка List<T>.

public:
 virtual int IndexOf(T item);
public int IndexOf (T item);
abstract member IndexOf : 'T -> int
override this.IndexOf : 'T -> int
Public Function IndexOf (item As T) As Integer

Параметры

item
T

Объект для поиска в List<T>. Для ссылочных типов допускается значение null.

Возвращаемое значение

Int32

Индекс (с нуля) первого вхождения параметра item, если оно найдено в коллекции List<T>; в противном случае -1.

Реализации

Комментарии

List<T>Поиск выполняется в прямом направлении, начиная с первого элемента и заканчивая последним элементом.

Этот метод определяет равенство с помощью компаратора проверки на равенство по умолчанию EqualityComparer<T>.Default для T типа значений в списке.

Этот метод выполняет линейный поиск. Таким образом, этот метод является операцией O (n), где nCount .

См. также раздел

Применяется к