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

Definição

Retorna o índice baseado em zero da primeira ocorrência de um valor no List<T> ou em uma parte dele.Returns the zero-based index of the first occurrence of a value in the List<T> or in a portion of it.

Sobrecargas

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

Procura o objeto especificado e retorna o índice baseado em zero da primeira ocorrência dentro do intervalo de elementos em List<T> que se estende do índice especificado para o último elemento.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)

Pesquisa o objeto especificado e retorna o índice baseado em zero da primeira ocorrência em um intervalo de elementos no List<T> que começa no índice especificado e contém o número de elementos especificado.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)

Pesquisa o objeto especificado e retorna o índice baseado em zero da primeira ocorrência dentro de todo o 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)

Procura o objeto especificado e retorna o índice baseado em zero da primeira ocorrência dentro do intervalo de elementos em List<T> que se estende do índice especificado para o último elemento.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

Parâmetros

item
T T T T

O objeto a ser localizado no List<T>.The object to locate in the List<T>. O valor pode ser null para tipos de referência.The value can be null for reference types.

index
Int32 Int32 Int32 Int32

O índice inicial com base em zero da pesquisa.The zero-based starting index of the search. 0 (zero) é válido em uma lista vazia.0 (zero) is valid in an empty list.

Retornos

O índice baseado em zero da primeira ocorrência de item dentro do intervalo de elementos no List<T> que se estende do index ao último elemento, se for encontrado; caso contrário, -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.

Exceções

index está fora do intervalo de índices válidos para o List<T>.index is outside the range of valid indexes for the List<T>.

Exemplos

O exemplo a seguir demonstra todas as três sobrecargas do IndexOf método.The following example demonstrates all three overloads of the IndexOf method. Um List<T> de cadeias de caracteres é criada, com uma entrada exibida duas vezes, no local do índice 0 e o local do índice 5.A List<T> of strings is created, with one entry that appears twice, at index location 0 and index location 5. O IndexOf(T) sobrecarga do método pesquisa a lista desde o início e localiza a primeira ocorrência da cadeia de caracteres.The IndexOf(T) method overload searches the list from the beginning, and finds the first occurrence of the string. O IndexOf(T, Int32) sobrecarga do método é usada para pesquisar o lista começando com o local do índice 3 e continua até o final da lista e localiza a segunda ocorrência da cadeia de caracteres.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. Por fim, o IndexOf(T, Int32, Int32) sobrecarga do método é usada para pesquisar um intervalo de duas entradas, começando no local de índice dois; ele retornará -1, porque não há nenhuma instância da cadeia de caracteres de pesquisa nesse intervalo.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

Comentários

O List<T> é pesquisado para frente, começando em index e terminando no último elemento.The List<T> is searched forward starting at index and ending at the last element.

Este método determina a igualdade usando o comparador de igualdade padrão EqualityComparer<T>.Default para T, o tipo dos valores na lista.This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.

Esse método executa uma pesquisa linear. Portanto, esse método é um O (n) a operação, onde n é o número de elementos da index até o final do 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>.

Veja também

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

Pesquisa o objeto especificado e retorna o índice baseado em zero da primeira ocorrência em um intervalo de elementos no List<T> que começa no índice especificado e contém o número de elementos especificado.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

Parâmetros

item
T T T T

O objeto a ser localizado no List<T>.The object to locate in the List<T>. O valor pode ser null para tipos de referência.The value can be null for reference types.

index
Int32 Int32 Int32 Int32

O índice inicial com base em zero da pesquisa.The zero-based starting index of the search. 0 (zero) é válido em uma lista vazia.0 (zero) is valid in an empty list.

count
Int32 Int32 Int32 Int32

O número de elementos na seção a ser pesquisada.The number of elements in the section to search.

Retornos

O índice baseado em zero da primeira ocorrência de item dentro do intervalo de elementos no List<T> que começa em index e contém o número de elementos count, se encontrado; caso contrário, -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.

Exceções

index está fora do intervalo de índices válidos para o List<T>.index is outside the range of valid indexes for the List<T>.

- ou --or- count é menor que 0.count is less than 0.

- ou --or- index e count não especificam uma seção válida no List<T>.index and count do not specify a valid section in the List<T>.

Exemplos

O exemplo a seguir demonstra todas as três sobrecargas do IndexOf método.The following example demonstrates all three overloads of the IndexOf method. Um List<T> de cadeias de caracteres é criada, com uma entrada exibida duas vezes, no local do índice 0 e o local do índice 5.A List<T> of strings is created, with one entry that appears twice, at index location 0 and index location 5. O IndexOf(T) sobrecarga do método pesquisa a lista desde o início e localiza a primeira ocorrência da cadeia de caracteres.The IndexOf(T) method overload searches the list from the beginning, and finds the first occurrence of the string. O IndexOf(T, Int32) sobrecarga do método é usada para pesquisar o lista começando com o local do índice 3 e continua até o final da lista e localiza a segunda ocorrência da cadeia de caracteres.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. Por fim, o IndexOf(T, Int32, Int32) sobrecarga do método é usada para pesquisar um intervalo de duas entradas, começando no local de índice dois; ele retornará -1, porque não há nenhuma instância da cadeia de caracteres de pesquisa nesse intervalo.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

Comentários

O List<T> é pesquisado para frente, começando em index e termina em index plus count menos 1, se count for maior que 0.The List<T> is searched forward starting at index and ending at index plus count minus 1, if count is greater than 0.

Este método determina a igualdade usando o comparador de igualdade padrão EqualityComparer<T>.Default para T, o tipo dos valores na lista.This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.

Esse método executa uma pesquisa linear. Portanto, esse método é um O (n) a operação, onde n é count.This method performs a linear search; therefore, this method is an O(n) operation, where n is count.

Veja também

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

Pesquisa o objeto especificado e retorna o índice baseado em zero da primeira ocorrência dentro de todo o 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

Parâmetros

item
T T T T

O objeto a ser localizado no List<T>.The object to locate in the List<T>. O valor pode ser null para tipos de referência.The value can be null for reference types.

Retornos

O índice baseado em zero da primeira ocorrência de item em todo o List<T>, se encontrado; caso contrário, -1.The zero-based index of the first occurrence of item within the entire List<T>, if found; otherwise, -1.

Implementações

Exemplos

O exemplo a seguir demonstra todas as três sobrecargas do IndexOf método.The following example demonstrates all three overloads of the IndexOf method. Um List<T> de cadeias de caracteres é criada, com uma entrada exibida duas vezes, no local do índice 0 e o local do índice 5.A List<T> of strings is created, with one entry that appears twice, at index location 0 and index location 5. O IndexOf(T) sobrecarga do método pesquisa a lista desde o início e localiza a primeira ocorrência da cadeia de caracteres.The IndexOf(T) method overload searches the list from the beginning, and finds the first occurrence of the string. O IndexOf(T, Int32) sobrecarga do método é usada para pesquisar o lista começando com o local do índice 3 e continua até o final da lista e localiza a segunda ocorrência da cadeia de caracteres.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. Por fim, o IndexOf(T, Int32, Int32) sobrecarga do método é usada para pesquisar um intervalo de duas entradas, começando no local de índice dois; ele retornará -1, porque não há nenhuma instância da cadeia de caracteres de pesquisa nesse intervalo.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

Comentários

O List<T> é pesquisado para frente, começando no primeiro elemento e termina no último elemento.The List<T> is searched forward starting at the first element and ending at the last element.

Este método determina a igualdade usando o comparador de igualdade padrão EqualityComparer<T>.Default para T, o tipo dos valores na lista.This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.

Esse método executa uma pesquisa linear. Portanto, esse método é um O (n) a operação, onde n é Count.This method performs a linear search; therefore, this method is an O(n) operation, where n is Count.

Veja também

Aplica-se a