List<T>.IndexOf List<T>.IndexOf List<T>.IndexOf List<T>.IndexOf Method

Определение

Возвращает отсчитываемый от нуля индекс первого вхождения значения в списке List<T> или в его части.Returns the zero-based index of the first occurrence of a value in the List<T> or in a portion of it.

Перегрузки

IndexOf(T, Int32) IndexOf(T, Int32) IndexOf(T, Int32) IndexOf(T, Int32)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начиная с заданного индекса и до последнего элемента.Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List<T> that extends from the specified index to the last element.

IndexOf(T, Int32, Int32) IndexOf(T, Int32, Int32) IndexOf(T, Int32, Int32) IndexOf(T, Int32, Int32)

Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс его первого вхождения в диапазоне элементов списка List<T>, начинающемся с заданного индекса и содержащем указанное число элементов.Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List<T> that starts at the specified index and contains the specified number of elements.

IndexOf(T) IndexOf(T) IndexOf(T) IndexOf(T)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения, найденного в пределах всего списка List<T>.Searches for the specified object and returns the zero-based index of the first occurrence within the entire List<T>.

IndexOf(T, Int32) IndexOf(T, Int32) IndexOf(T, Int32) IndexOf(T, Int32)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начиная с заданного индекса и до последнего элемента.Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List<T> that extends from the specified index to the last element.

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 T T T

Объект для поиска в List<T>.The object to locate in the List<T>. Для ссылочных типов допускается значение null.The value can be null for reference types.

index
Int32 Int32 Int32 Int32

Индекс (с нуля) начальной позиции поиска.The zero-based starting index of the search. Значение 0 (ноль) действительно в пустом списке.0 (zero) is valid in an empty list.

Возвраты

Отсчитываемый от нуля индекс первого вхождения элемента item в диапазоне элементов списка List<T>, начиная с позиции index и до конца списка, если элемент найден; в противном случае значение –1.The zero-based index of the first occurrence of item within the range of elements in the List<T> that extends from index to the last element, if found; otherwise, -1.

Исключения

index находится вне диапазона допустимых индексов для List<T>.index is outside the range of valid indexes for the List<T>.

Примеры

В следующем примере показано все три перегрузки IndexOf метод.The following example demonstrates all three overloads of the IndexOf method. Объект List<T> строк создается с одной записи, отображается дважды, по индексу 0 и 5.A List<T> of strings is created, with one entry that appears twice, at index location 0 and index location 5. IndexOf(T) Перегрузку метода производится поиск в списке с самого начала и находит первое вхождение строки.The IndexOf(T) method overload searches the list from the beginning, and finds the first occurrence of the string. IndexOf(T, Int32) Перегруженный метод используется для поиска списка, начиная с индексом 3 и до конца списка и находит второе вхождение строки.The IndexOf(T, Int32) method overload is used to search the list beginning with index location 3 and continuing to the end of the list, and finds the second occurrence of the string. Наконец IndexOf(T, Int32, Int32) перегруженный метод используется для поиска диапазон две записи, начиная с индекса расположение двух; возвращается значение -1, так как отсутствуют экземпляры строки поиска в этом диапазоне.Finally, the IndexOf(T, Int32, Int32) method overload is used to search a range of two entries, beginning at index location two; it returns -1 because there are no instances of the search string in that range.

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
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

Комментарии

List<T> Выполняется от в index и заканчивая последним элементом.The List<T> is searched forward starting at index and ending at the last element.

Этот метод определяет равенство, используя компаратор проверки на равенство по умолчанию EqualityComparer<T>.Default для T, тип значений в списке.This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.

Этот метод выполняет линейный поиск; Таким образом, этот метод является операцией O (n) операции, где n — количество элементов из index в конец List<T>.This method performs a linear search; therefore, this method is an O(n) operation, where n is the number of elements from index to the end of the List<T>.

Дополнительно

IndexOf(T, Int32, Int32) IndexOf(T, Int32, Int32) IndexOf(T, Int32, Int32) IndexOf(T, Int32, Int32)

Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс его первого вхождения в диапазоне элементов списка List<T>, начинающемся с заданного индекса и содержащем указанное число элементов.Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List<T> that starts at the specified index and contains the specified number of elements.

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 T T T

Объект для поиска в List<T>.The object to locate in the List<T>. Для ссылочных типов допускается значение null.The value can be null for reference types.

index
Int32 Int32 Int32 Int32

Индекс (с нуля) начальной позиции поиска.The zero-based starting index of the search. Значение 0 (ноль) действительно в пустом списке.0 (zero) is valid in an empty list.

count
Int32 Int32 Int32 Int32

Число элементов в диапазоне, в котором выполняется поиск.The number of elements in the section to search.

Возвраты

Отсчитываемый от нуля индекс первого вхождения item в диапазоне элементов списка List<T>, который начинается с позиции index и содержит count элементов, если искомый объект найден; в противном случае значение –1.The zero-based index of the first occurrence of item within the range of elements in the List<T> that starts at index and contains count number of elements, if found; otherwise, -1.

Исключения

index находится вне диапазона допустимых индексов для List<T>.index is outside the range of valid indexes for the List<T>.

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

-или--or- index и count не указывают допустимый раздел в List<T>.index and count do not specify a valid section in the List<T>.

Примеры

В следующем примере показано все три перегрузки IndexOf метод.The following example demonstrates all three overloads of the IndexOf method. Объект List<T> строк создается с одной записи, отображается дважды, по индексу 0 и 5.A List<T> of strings is created, with one entry that appears twice, at index location 0 and index location 5. IndexOf(T) Перегрузку метода производится поиск в списке с самого начала и находит первое вхождение строки.The IndexOf(T) method overload searches the list from the beginning, and finds the first occurrence of the string. IndexOf(T, Int32) Перегруженный метод используется для поиска списка, начиная с индексом 3 и до конца списка и находит второе вхождение строки.The IndexOf(T, Int32) method overload is used to search the list beginning with index location 3 and continuing to the end of the list, and finds the second occurrence of the string. Наконец IndexOf(T, Int32, Int32) перегруженный метод используется для поиска диапазон две записи, начиная с индекса расположение двух; возвращается значение -1, так как отсутствуют экземпляры строки поиска в этом диапазоне.Finally, the IndexOf(T, Int32, Int32) method overload is used to search a range of two entries, beginning at index location two; it returns -1 because there are no instances of the search string in that range.

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
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

Комментарии

List<T> Выполняется от в index и заканчивая index , а также count минус 1, если count больше 0.The List<T> is searched forward starting at index and ending at index plus count minus 1, if count is greater than 0.

Этот метод определяет равенство, используя компаратор проверки на равенство по умолчанию EqualityComparer<T>.Default для T, тип значений в списке.This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.

Этот метод выполняет линейный поиск; Таким образом, этот метод является операцией O (n) операции, где n является count.This method performs a linear search; therefore, this method is an O(n) operation, where n is count.

Дополнительно

IndexOf(T) IndexOf(T) IndexOf(T) IndexOf(T)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения, найденного в пределах всего списка List<T>.Searches for the specified object and returns the zero-based index of the first occurrence within the entire 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 T T T

Объект для поиска в List<T>.The object to locate in the List<T>. Для ссылочных типов допускается значение null.The value can be null for reference types.

Возвраты

Индекс (с нуля) первого вхождения параметра item, если оно найдено в коллекции List<T>; в противном случае -1.The zero-based index of the first occurrence of item within the entire List<T>, if found; otherwise, -1.

Реализации

Примеры

В следующем примере показано все три перегрузки IndexOf метод.The following example demonstrates all three overloads of the IndexOf method. Объект List<T> строк создается с одной записи, отображается дважды, по индексу 0 и 5.A List<T> of strings is created, with one entry that appears twice, at index location 0 and index location 5. IndexOf(T) Перегрузку метода производится поиск в списке с самого начала и находит первое вхождение строки.The IndexOf(T) method overload searches the list from the beginning, and finds the first occurrence of the string. IndexOf(T, Int32) Перегруженный метод используется для поиска списка, начиная с индексом 3 и до конца списка и находит второе вхождение строки.The IndexOf(T, Int32) method overload is used to search the list beginning with index location 3 and continuing to the end of the list, and finds the second occurrence of the string. Наконец IndexOf(T, Int32, Int32) перегруженный метод используется для поиска диапазон две записи, начиная с индекса расположение двух; возвращается значение -1, так как отсутствуют экземпляры строки поиска в этом диапазоне.Finally, the IndexOf(T, Int32, Int32) method overload is used to search a range of two entries, beginning at index location two; it returns -1 because there are no instances of the search string in that range.

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
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

Комментарии

List<T> Выполняется поиск вперед, начиная с первого элемента и заканчивая последним элементом.The List<T> is searched forward starting at the first element and ending at the last element.

Этот метод определяет равенство, используя компаратор проверки на равенство по умолчанию EqualityComparer<T>.Default для T, тип значений в списке.This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.

Этот метод выполняет линейный поиск; Таким образом, этот метод является операцией O (n) операции, где n является Count.This method performs a linear search; therefore, this method is an O(n) operation, where n is Count.

Дополнительно

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