Поделиться через


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.cs
Исходный код:
List.cs
Исходный код:
List.cs

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка 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 (ноль) действительно в пустом списке.

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

Отсчитываемый от нуля индекс первого вхождения элемента 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.cs
Исходный код:
List.cs
Исходный код:
List.cs

Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс его первого вхождения в диапазоне элементов списка 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

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

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

Отсчитываемый от нуля индекс первого вхождения 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), где n — .count

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

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

IndexOf(T)

Исходный код:
List.cs
Исходный код:
List.cs
Исходный код:
List.cs

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения, найденного в пределах всего списка 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.

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

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

Реализации

Комментарии

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

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

Этот метод выполняет линейный поиск; поэтому этот метод является операцией O(n), где n — .Count

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

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