Partilhar via


Array.IndexOf Método

Definição

Pesquisa o objeto especificado e retorna o índice de sua primeira ocorrência em uma matriz unidimensional ou em um intervalo de elementos na matriz.

Sobrecargas

Nome Description
IndexOf(Array, Object)

Pesquisa o objeto especificado e retorna o índice de sua primeira ocorrência em uma matriz unidimensional.

IndexOf(Array, Object, Int32)

Pesquisa o objeto especificado em um intervalo de elementos de uma matriz unidimensional e retorna o índice de sua primeira ocorrência. O intervalo se estende de um índice especificado até o final da matriz.

IndexOf(Array, Object, Int32, Int32)

Pesquisa o objeto especificado em um intervalo de elementos de uma matriz unidimensional e retorna o índice de ifs primeira ocorrência. O intervalo se estende de um índice especificado para um número especificado de elementos.

IndexOf<T>(T[], T, Int32)

Pesquisa o objeto especificado em um intervalo de elementos de uma matriz unidimensional e retorna o índice de sua primeira ocorrência. O intervalo se estende de um índice especificado até o final da matriz.

IndexOf<T>(T[], T, Int32, Int32)

Pesquisa o objeto especificado em um intervalo de elementos de uma matriz unidimensional e retorna o índice de sua primeira ocorrência. O intervalo se estende de um índice especificado para um número especificado de elementos.

IndexOf<T>(T[], T)

Pesquisa o objeto especificado e retorna o índice de sua primeira ocorrência em uma matriz unidimensional.

IndexOf(Array, Object)

Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs

Pesquisa o objeto especificado e retorna o índice de sua primeira ocorrência em uma matriz unidimensional.

public:
 static int IndexOf(Array ^ array, System::Object ^ value);
public static int IndexOf(Array array, object value);
public static int IndexOf(Array array, object? value);
static member IndexOf : Array * obj -> int
Public Shared Function IndexOf (array As Array, value As Object) As Integer

Parâmetros

array
Array

A matriz unidimensional a ser pesquisada.

value
Object

O objeto a ser localizado em array.

Retornos

O índice da primeira ocorrência de value , arrayse encontrado; caso contrário, o limite inferior da matriz menos 1.

Exceções

array é null.

array é multidimensional.

Exemplos

O exemplo chama as três sobrecargas a seguir do IndexOf método para localizar o índice de uma cadeia de caracteres em uma matriz de cadeia de caracteres:

  • IndexOf(Array, Object), para determinar a primeira ocorrência da cadeia de caracteres "o" em uma matriz de cadeia de caracteres.

  • IndexOf(Array, Object, Int32), para determinar a primeira ocorrência da cadeia de caracteres "o" no quarto até os últimos elementos de uma matriz de cadeia de caracteres.

  • IndexOf(Array, Object, Int32, Int32), para determinar a primeira ocorrência da cadeia de caracteres "o" em uma matriz de cadeia de caracteres do elemento que segue a última correspondência bem-sucedida até o final da matriz.

// Create a string array with 3 elements having the same value.
let strings = 
    [| "the"; "quick"; "brown"; "fox"; "jumps"; "over"
       "the"; "lazy"; "dog"; "in"; "the"; "barn" |]

// Display the elements of the array.
printfn "The array contains the following values:"
for i = strings.GetLowerBound 0 to strings.GetUpperBound 0 do
    printfn $"   [{i,2}]: {strings[i]}"

// Search for the first occurrence of the duplicated value.
let searchString = "the"
let index = Array.IndexOf(strings, searchString)
printfn $"The first occurrence of \"{searchString}\" is at index {index}."

// Search for the first occurrence of the duplicated value in the last section of the array.
let index = Array.IndexOf(strings, searchString, 4)
printfn $"The first occurrence of \"{searchString}\" between index 4 and the end is at index {index}."

// Search for the first occurrence of the duplicated value in a section of the array.
let position = index + 1
let index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound 0 - position + 1)
printfn $"The first occurrence of \"{searchString}\" between index {position} and index {strings.GetUpperBound 0} is at index {index}."

// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
// Create a string array with 3 elements having the same value.
String[] strings = { "the", "quick", "brown", "fox", "jumps",
                     "over", "the", "lazy", "dog", "in", "the",
                     "barn" };

// Display the elements of the array.
Console.WriteLine("The array contains the following values:");
for (int i = strings.GetLowerBound(0); i <= strings.GetUpperBound(0); i++)
   Console.WriteLine("   [{0,2}]: {1}", i, strings[i]);

// Search for the first occurrence of the duplicated value.
string searchString = "the";
int index = Array.IndexOf(strings, searchString);
Console.WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in the last section of the array.
index = Array.IndexOf(strings, searchString, 4);
Console.WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in a section of the array.
int position = index + 1;
index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1);
Console.WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                  searchString, position, strings.GetUpperBound(0), index);

// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
Public Module Example
   Public Sub Main()
      ' Create a string array with 3 elements having the same value.
      Dim strings() As String = { "the", "quick", "brown", "fox",
                                  "jumps", "over", "the", "lazy",
                                  "dog", "in", "the", "barn" }

      ' Display the values of the array.
      Console.WriteLine("The array contains the following values:")
      For i As Integer = strings.GetLowerBound(0) To strings.GetUpperBound(0)
         Console.WriteLine("   [{0,2}]: {1}", i, strings(i))
      Next

      ' Search for the first occurrence of the duplicated value.
      Dim searchString As String = "the"
      Dim index As Integer = Array.IndexOf(strings, searchString)
      Console.WriteLine("The first occurrence of ""{0}"" is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in the last section of the array.
      index = Array.IndexOf(strings, searchString, 4)
      Console.WriteLine("The first occurrence of ""{0}"" between index 4 and the end is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in a section of the array.
       Dim position As Integer = index + 1
       index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1)
       Console.WriteLine("The first occurrence of ""{0}"" between index {1} and index {2} is at index {3}.",
                         searchString, position, strings.GetUpperBound(0), index)
    End Sub
End Module
' The example displays the following output:
'    The array contains the following values:
'       [ 0]: the
'       [ 1]: quick
'       [ 2]: brown
'       [ 3]: fox
'       [ 4]: jumps
'       [ 5]: over
'       [ 6]: the
'       [ 7]: lazy
'       [ 8]: dog
'       [ 9]: in
'       [10]: the
'       [11]: barn
'    The first occurrence of "the" is at index 0.
'    The first occurrence of "the" between index 4 and the end is at index 6.
'    The first occurrence of "the" between index 7 and index 11 is at index 10.

Comentários

Esse método pesquisa todos os elementos de uma matriz unidimensional para value. Para determinar se value existe array, o método executa uma comparação de igualdade usando o comparador EqualityComparer<T>.Defaultde igualdade padrão.

Como a maioria das matrizes tem um limite inferior de zero, esse método geralmente retorna -1 sevalue não for encontrado. No caso raro de o limite inferior da matriz ser igual a Int32.MinValue(0x80000000) e value não for encontrado, esse método retorna Int32.MaxValue (0x7FFFFFFF).

Esse método é uma operação O(n), onde n está o Length de array.

Confira também

Aplica-se a

IndexOf(Array, Object, Int32)

Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs

Pesquisa o objeto especificado em um intervalo de elementos de uma matriz unidimensional e retorna o índice de sua primeira ocorrência. O intervalo se estende de um índice especificado até o final da matriz.

public:
 static int IndexOf(Array ^ array, System::Object ^ value, int startIndex);
public static int IndexOf(Array array, object value, int startIndex);
public static int IndexOf(Array array, object? value, int startIndex);
static member IndexOf : Array * obj * int -> int
Public Shared Function IndexOf (array As Array, value As Object, startIndex As Integer) As Integer

Parâmetros

array
Array

A matriz unidimensional a ser pesquisada.

value
Object

O objeto a ser localizado em array.

startIndex
Int32

O índice inicial da pesquisa. 0 (zero) é válido em uma matriz vazia.

Retornos

O índice da primeira ocorrência de value, se for encontrado, dentro do intervalo de elementos que array se estende do startIndex último elemento; caso contrário, o limite inferior da matriz menos 1.

Exceções

array é null.

startIndex está fora do intervalo de índices válidos para array.

array é multidimensional.

Exemplos

O exemplo chama as três sobrecargas a seguir do IndexOf método para localizar o índice de uma cadeia de caracteres em uma matriz de cadeia de caracteres:

  • IndexOf(Array, Object), para determinar a primeira ocorrência da cadeia de caracteres "o" em uma matriz de cadeia de caracteres.

  • IndexOf(Array, Object, Int32), para determinar a primeira ocorrência da cadeia de caracteres "o" no quarto até os últimos elementos de uma matriz de cadeia de caracteres.

  • IndexOf(Array, Object, Int32, Int32), para determinar a primeira ocorrência da cadeia de caracteres "o" em uma matriz de cadeia de caracteres do elemento que segue a última correspondência bem-sucedida até o final da matriz.

// Create a string array with 3 elements having the same value.
let strings = 
    [| "the"; "quick"; "brown"; "fox"; "jumps"; "over"
       "the"; "lazy"; "dog"; "in"; "the"; "barn" |]

// Display the elements of the array.
printfn "The array contains the following values:"
for i = strings.GetLowerBound 0 to strings.GetUpperBound 0 do
    printfn $"   [{i,2}]: {strings[i]}"

// Search for the first occurrence of the duplicated value.
let searchString = "the"
let index = Array.IndexOf(strings, searchString)
printfn $"The first occurrence of \"{searchString}\" is at index {index}."

// Search for the first occurrence of the duplicated value in the last section of the array.
let index = Array.IndexOf(strings, searchString, 4)
printfn $"The first occurrence of \"{searchString}\" between index 4 and the end is at index {index}."

// Search for the first occurrence of the duplicated value in a section of the array.
let position = index + 1
let index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound 0 - position + 1)
printfn $"The first occurrence of \"{searchString}\" between index {position} and index {strings.GetUpperBound 0} is at index {index}."

// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
// Create a string array with 3 elements having the same value.
String[] strings = { "the", "quick", "brown", "fox", "jumps",
                     "over", "the", "lazy", "dog", "in", "the",
                     "barn" };

// Display the elements of the array.
Console.WriteLine("The array contains the following values:");
for (int i = strings.GetLowerBound(0); i <= strings.GetUpperBound(0); i++)
   Console.WriteLine("   [{0,2}]: {1}", i, strings[i]);

// Search for the first occurrence of the duplicated value.
string searchString = "the";
int index = Array.IndexOf(strings, searchString);
Console.WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in the last section of the array.
index = Array.IndexOf(strings, searchString, 4);
Console.WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in a section of the array.
int position = index + 1;
index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1);
Console.WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                  searchString, position, strings.GetUpperBound(0), index);

// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
Public Module Example
   Public Sub Main()
      ' Create a string array with 3 elements having the same value.
      Dim strings() As String = { "the", "quick", "brown", "fox",
                                  "jumps", "over", "the", "lazy",
                                  "dog", "in", "the", "barn" }

      ' Display the values of the array.
      Console.WriteLine("The array contains the following values:")
      For i As Integer = strings.GetLowerBound(0) To strings.GetUpperBound(0)
         Console.WriteLine("   [{0,2}]: {1}", i, strings(i))
      Next

      ' Search for the first occurrence of the duplicated value.
      Dim searchString As String = "the"
      Dim index As Integer = Array.IndexOf(strings, searchString)
      Console.WriteLine("The first occurrence of ""{0}"" is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in the last section of the array.
      index = Array.IndexOf(strings, searchString, 4)
      Console.WriteLine("The first occurrence of ""{0}"" between index 4 and the end is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in a section of the array.
       Dim position As Integer = index + 1
       index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1)
       Console.WriteLine("The first occurrence of ""{0}"" between index {1} and index {2} is at index {3}.",
                         searchString, position, strings.GetUpperBound(0), index)
    End Sub
End Module
' The example displays the following output:
'    The array contains the following values:
'       [ 0]: the
'       [ 1]: quick
'       [ 2]: brown
'       [ 3]: fox
'       [ 4]: jumps
'       [ 5]: over
'       [ 6]: the
'       [ 7]: lazy
'       [ 8]: dog
'       [ 9]: in
'       [10]: the
'       [11]: barn
'    The first occurrence of "the" is at index 0.
'    The first occurrence of "the" between index 4 and the end is at index 6.
'    The first occurrence of "the" between index 7 and index 11 is at index 10.

Comentários

Esse método pesquisa uma matriz unidimensional do elemento no índice startIndex até o último elemento. Para determinar se value existe array, o método executa uma comparação de igualdade usando o comparador EqualityComparer<T>.Defaultde igualdade padrão.

Como a maioria das matrizes tem um limite inferior de zero, esse método geralmente retorna -1 se value não for encontrado. No caso raro de o limite inferior da matriz ser igual a Int32.MinValue(0x80000000) e value não for encontrado, esse método retorna Int32.MaxValue (0x7FFFFFFF).

Se startIndex for igual Array.Lengtha ,o método retornará -1. Se startIndex for maior que Array.Length, o método gerará um ArgumentOutOfRangeException.

Esse método é uma operação O(), onde n está o número de elementos de startIndex até o final de array.n

Confira também

Aplica-se a

IndexOf(Array, Object, Int32, Int32)

Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs

Pesquisa o objeto especificado em um intervalo de elementos de uma matriz unidimensional e retorna o índice de ifs primeira ocorrência. O intervalo se estende de um índice especificado para um número especificado de elementos.

public:
 static int IndexOf(Array ^ array, System::Object ^ value, int startIndex, int count);
public static int IndexOf(Array array, object value, int startIndex, int count);
public static int IndexOf(Array array, object? value, int startIndex, int count);
static member IndexOf : Array * obj * int * int -> int
Public Shared Function IndexOf (array As Array, value As Object, startIndex As Integer, count As Integer) As Integer

Parâmetros

array
Array

A matriz unidimensional a ser pesquisada.

value
Object

O objeto a ser localizado em array.

startIndex
Int32

O índice inicial da pesquisa. 0 (zero) é válido em uma matriz vazia.

count
Int32

O número de elementos a serem pesquisados.

Retornos

O índice da primeira ocorrência de value, se for encontrado no array índice startIndex para startIndex + count - 1; caso contrário, o limite inferior da matriz menos 1.

Exceções

array é null.

startIndex está fora do intervalo de índices válidos para array.

- ou -

count é menor que zero.

- ou -

startIndex e não especifique count uma seção válida em array.

array é multidimensional.

Exemplos

O exemplo chama as três sobrecargas a seguir do IndexOf método para localizar o índice de uma cadeia de caracteres em uma matriz de cadeia de caracteres:

  • IndexOf(Array, Object), para determinar a primeira ocorrência da cadeia de caracteres "o" em uma matriz de cadeia de caracteres.

  • IndexOf(Array, Object, Int32), para determinar a primeira ocorrência da cadeia de caracteres "o" no quarto até os últimos elementos de uma matriz de cadeia de caracteres.

  • IndexOf(Array, Object, Int32, Int32), para determinar a primeira ocorrência da cadeia de caracteres "o" em uma matriz de cadeia de caracteres do elemento que segue a última correspondência bem-sucedida até o final da matriz. Para determinar o valor do count argumento, ele subtrai o limite superior da matriz do índice inicial e adiciona um.

// Create a string array with 3 elements having the same value.
let strings = 
    [| "the"; "quick"; "brown"; "fox"; "jumps"; "over"
       "the"; "lazy"; "dog"; "in"; "the"; "barn" |]

// Display the elements of the array.
printfn "The array contains the following values:"
for i = strings.GetLowerBound 0 to strings.GetUpperBound 0 do
    printfn $"   [{i,2}]: {strings[i]}"

// Search for the first occurrence of the duplicated value.
let searchString = "the"
let index = Array.IndexOf(strings, searchString)
printfn $"The first occurrence of \"{searchString}\" is at index {index}."

// Search for the first occurrence of the duplicated value in the last section of the array.
let index = Array.IndexOf(strings, searchString, 4)
printfn $"The first occurrence of \"{searchString}\" between index 4 and the end is at index {index}."

// Search for the first occurrence of the duplicated value in a section of the array.
let position = index + 1
let index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound 0 - position + 1)
printfn $"The first occurrence of \"{searchString}\" between index {position} and index {strings.GetUpperBound 0} is at index {index}."

// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
// Create a string array with 3 elements having the same value.
String[] strings = { "the", "quick", "brown", "fox", "jumps",
                     "over", "the", "lazy", "dog", "in", "the",
                     "barn" };

// Display the elements of the array.
Console.WriteLine("The array contains the following values:");
for (int i = strings.GetLowerBound(0); i <= strings.GetUpperBound(0); i++)
   Console.WriteLine("   [{0,2}]: {1}", i, strings[i]);

// Search for the first occurrence of the duplicated value.
string searchString = "the";
int index = Array.IndexOf(strings, searchString);
Console.WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in the last section of the array.
index = Array.IndexOf(strings, searchString, 4);
Console.WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in a section of the array.
int position = index + 1;
index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1);
Console.WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                  searchString, position, strings.GetUpperBound(0), index);

// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.
Public Module Example
   Public Sub Main()
      ' Create a string array with 3 elements having the same value.
      Dim strings() As String = { "the", "quick", "brown", "fox",
                                  "jumps", "over", "the", "lazy",
                                  "dog", "in", "the", "barn" }

      ' Display the values of the array.
      Console.WriteLine("The array contains the following values:")
      For i As Integer = strings.GetLowerBound(0) To strings.GetUpperBound(0)
         Console.WriteLine("   [{0,2}]: {1}", i, strings(i))
      Next

      ' Search for the first occurrence of the duplicated value.
      Dim searchString As String = "the"
      Dim index As Integer = Array.IndexOf(strings, searchString)
      Console.WriteLine("The first occurrence of ""{0}"" is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in the last section of the array.
      index = Array.IndexOf(strings, searchString, 4)
      Console.WriteLine("The first occurrence of ""{0}"" between index 4 and the end is at index {1}.",
                        searchString, index)
        
      ' Search for the first occurrence of the duplicated value in a section of the array.
       Dim position As Integer = index + 1
       index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1)
       Console.WriteLine("The first occurrence of ""{0}"" between index {1} and index {2} is at index {3}.",
                         searchString, position, strings.GetUpperBound(0), index)
    End Sub
End Module
' The example displays the following output:
'    The array contains the following values:
'       [ 0]: the
'       [ 1]: quick
'       [ 2]: brown
'       [ 3]: fox
'       [ 4]: jumps
'       [ 5]: over
'       [ 6]: the
'       [ 7]: lazy
'       [ 8]: dog
'       [ 9]: in
'       [10]: the
'       [11]: barn
'    The first occurrence of "the" is at index 0.
'    The first occurrence of "the" between index 4 and the end is at index 6.
'    The first occurrence of "the" between index 7 and index 11 is at index 10.

Comentários

Esse método pesquisa os elementos de uma matriz unidimensional de startIndex para startIndex mais count menos 1, se count for maior que 0. Para determinar se value existe array, o método executa uma comparação de igualdade usando o comparador EqualityComparer<T>.Defaultde igualdade padrão.

Como a maioria das matrizes tem um limite inferior de zero, esse método geralmente retorna -1 quando value não é encontrado. No caso raro de o limite inferior da matriz ser igual a Int32.MinValue (0x80000000) e value não for encontrado, esse método retorna Int32.MaxValue (0x7FFFFFFF).

Se startindex for igual Array.Length, o método retornará -1. Se startIndex for maior que Array.Length, o método gerará um ArgumentOutOfRangeException.

Esse método é uma operação O(n), onde n está count.

Confira também

Aplica-se a

IndexOf<T>(T[], T, Int32)

Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs

Pesquisa o objeto especificado em um intervalo de elementos de uma matriz unidimensional e retorna o índice de sua primeira ocorrência. O intervalo se estende de um índice especificado até o final da matriz.

public:
generic <typename T>
 static int IndexOf(cli::array <T> ^ array, T value, int startIndex);
public static int IndexOf<T>(T[] array, T value, int startIndex);
static member IndexOf : 'T[] * 'T * int -> int
Public Shared Function IndexOf(Of T) (array As T(), value As T, startIndex As Integer) As Integer

Parâmetros de tipo

T

O tipo dos elementos da matriz.

Parâmetros

array
T[]

A matriz unidimensional baseada em zero a ser pesquisada.

value
T

O objeto a ser localizado em array.

startIndex
Int32

O índice inicial baseado em zero da pesquisa. 0 (zero) é válido em uma matriz vazia.

Retornos

O índice baseado em zero da primeira ocorrência de value dentro do intervalo de elementos que array se estende do startIndex último elemento, se encontrado; caso contrário, -1.

Exceções

array é null.

startIndex está fora do intervalo de índices válidos para array.

Exemplos

O exemplo a seguir demonstra todas as três sobrecargas genéricas do IndexOf método. Uma matriz de cadeias de caracteres é criada, com uma entrada que aparece duas vezes, no local do índice 0 e no local do índice 5. A IndexOf<T>(T[], T) sobrecarga do método pesquisa a matriz desde o início e localiza a primeira ocorrência da cadeia de caracteres. A IndexOf<T>(T[], T, Int32) sobrecarga do método é usada para pesquisar a matriz começando com o local do índice 3 e continuando até o final da matriz e localiza a segunda ocorrência da cadeia de caracteres. Por fim, a sobrecarga do IndexOf<T>(T[], T, Int32, Int32) método é usada para pesquisar um intervalo de duas entradas, começando no local do índice dois; ele retorna -1 porque não há instâncias da cadeia de caracteres de pesquisa nesse intervalo.

string[] dinosaurs = { "Tyrannosaurus",
    "Amargasaurus",
    "Mamenchisaurus",
    "Brachiosaurus",
    "Deinonychus",
    "Tyrannosaurus",
    "Compsognathus" };

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

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

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

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

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
*/
open System

let dinosaurs =
    [| "Tyrannosaurus"
       "Amargasaurus"
       "Mamenchisaurus"
       "Brachiosaurus"
       "Deinonychus"
       "Tyrannosaurus"
       "Compsognathus" |]

printfn ""
for dino in dinosaurs do
    printfn $"{dino}"

Array.IndexOf(dinosaurs, "Tyrannosaurus")
|> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): %i"

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3)
|> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): %i"

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2)
|> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): %i"

// This code example produces the following output:
//
//    Tyrannosaurus
//    Amargasaurus
//    Mamenchisaurus
//    Brachiosaurus
//    Deinonychus
//    Tyrannosaurus
//    Compsognathus
//    
//    Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0
//
//    Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5
//
//    Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs() As String = { "Tyrannosaurus", _
            "Amargasaurus", _
            "Mamenchisaurus", _
            "Brachiosaurus", _
            "Deinonychus", _
            "Tyrannosaurus", _
            "Compsognathus" }

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

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

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

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

    End Sub
End Class

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

Comentários

Esse método pesquisa uma matriz unidimensional do elemento até startIndex o final da matriz. Para determinar se value existe array, o método executa uma comparação de igualdade usando o comparador EqualityComparer<T>.Defaultde igualdade padrão.

Se startIndex for igual Lengtha ,o método retornará -1. Se startIndex for maior que Array.Length, o método gerará um ArgumentOutOfRangeException.

Esse método é uma operação O(), onde n está o número de elementos de startIndex até o final de array.n

Confira também

Aplica-se a

IndexOf<T>(T[], T, Int32, Int32)

Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs

Pesquisa o objeto especificado em um intervalo de elementos de uma matriz unidimensional e retorna o índice de sua primeira ocorrência. O intervalo se estende de um índice especificado para um número especificado de elementos.

public:
generic <typename T>
 static int IndexOf(cli::array <T> ^ array, T value, int startIndex, int count);
public static int IndexOf<T>(T[] array, T value, int startIndex, int count);
static member IndexOf : 'T[] * 'T * int * int -> int
Public Shared Function IndexOf(Of T) (array As T(), value As T, startIndex As Integer, count As Integer) As Integer

Parâmetros de tipo

T

O tipo dos elementos da matriz.

Parâmetros

array
T[]

A matriz unidimensional baseada em zero a ser pesquisada.

value
T

O objeto a ser localizado em array.

startIndex
Int32

O índice inicial baseado em zero da pesquisa. 0 (zero) é válido em uma matriz vazia.

count
Int32

O número de elementos na seção a ser pesquisada.

Retornos

O índice baseado em zero da primeira ocorrência de value dentro do intervalo de elementos no array qual começa startIndex e contém o número de elementos especificados em count, se encontrado; caso contrário, -1.

Exceções

array é null.

startIndex está fora do intervalo de índices válidos para array.

- ou -

count é menor que zero.

- ou -

startIndex e não especifique count uma seção válida em array.

Exemplos

O exemplo a seguir demonstra todas as três sobrecargas genéricas do IndexOf método. Uma matriz de cadeias de caracteres é criada, com uma entrada que aparece duas vezes, no local do índice 0 e no local do índice 5. A IndexOf<T>(T[], T) sobrecarga do método pesquisa a matriz desde o início e localiza a primeira ocorrência da cadeia de caracteres. A IndexOf<T>(T[], T, Int32) sobrecarga do método é usada para pesquisar a matriz começando com o local do índice 3 e continuando até o final da matriz e localiza a segunda ocorrência da cadeia de caracteres. Por fim, a sobrecarga do IndexOf<T>(T[], T, Int32, Int32) método é usada para pesquisar um intervalo de duas entradas, começando no local do índice dois; ele retorna -1 porque não há instâncias da cadeia de caracteres de pesquisa nesse intervalo.

string[] dinosaurs = { "Tyrannosaurus",
    "Amargasaurus",
    "Mamenchisaurus",
    "Brachiosaurus",
    "Deinonychus",
    "Tyrannosaurus",
    "Compsognathus" };

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

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

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

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

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
*/
open System

let dinosaurs =
    [| "Tyrannosaurus"
       "Amargasaurus"
       "Mamenchisaurus"
       "Brachiosaurus"
       "Deinonychus"
       "Tyrannosaurus"
       "Compsognathus" |]

printfn ""
for dino in dinosaurs do
    printfn $"{dino}"

Array.IndexOf(dinosaurs, "Tyrannosaurus")
|> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): %i"

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3)
|> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): %i"

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2)
|> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): %i"

// This code example produces the following output:
//
//    Tyrannosaurus
//    Amargasaurus
//    Mamenchisaurus
//    Brachiosaurus
//    Deinonychus
//    Tyrannosaurus
//    Compsognathus
//    
//    Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0
//
//    Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5
//
//    Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs() As String = { "Tyrannosaurus", _
            "Amargasaurus", _
            "Mamenchisaurus", _
            "Brachiosaurus", _
            "Deinonychus", _
            "Tyrannosaurus", _
            "Compsognathus" }

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

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

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

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

    End Sub
End Class

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

Comentários

Esse método pesquisa os elementos de uma matriz unidimensional de startIndex para startIndex mais count menos 1, se count for maior que 0. Para determinar se value existe array, o método executa uma comparação de igualdade usando o comparador EqualityComparer<T>.Defaultde igualdade padrão.

Se startIndex for igual Array.Length, o método retornará -1. Se startIndex for maior que Array.Length, o método gerará um ArgumentOutOfRangeException.

Esse método é uma operação O(n), onde n está count.

Confira também

Aplica-se a

IndexOf<T>(T[], T)

Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs
Origem:
Array.cs

Pesquisa o objeto especificado e retorna o índice de sua primeira ocorrência em uma matriz unidimensional.

public:
generic <typename T>
 static int IndexOf(cli::array <T> ^ array, T value);
public static int IndexOf<T>(T[] array, T value);
static member IndexOf : 'T[] * 'T -> int
Public Shared Function IndexOf(Of T) (array As T(), value As T) As Integer

Parâmetros de tipo

T

O tipo dos elementos da matriz.

Parâmetros

array
T[]

A matriz unidimensional baseada em zero a ser pesquisada.

value
T

O objeto a ser localizado em array.

Retornos

O índice baseado em zero da primeira ocorrência do value todo array, se encontrado; caso contrário, -1.

Exceções

array é null.

Exemplos

O exemplo a seguir demonstra todas as três sobrecargas genéricas do IndexOf método. Uma matriz de cadeias de caracteres é criada, com uma entrada que aparece duas vezes, no local do índice 0 e no local do índice 5. A IndexOf<T>(T[], T) sobrecarga do método pesquisa a matriz desde o início e localiza a primeira ocorrência da cadeia de caracteres. A IndexOf<T>(T[], T, Int32) sobrecarga do método é usada para pesquisar a matriz começando com o local do índice 3 e continuando até o final da matriz e localiza a segunda ocorrência da cadeia de caracteres. Por fim, a sobrecarga do IndexOf<T>(T[], T, Int32, Int32) método é usada para pesquisar um intervalo de duas entradas, começando no local do índice dois; ele retorna -1 porque não há instâncias da cadeia de caracteres de pesquisa nesse intervalo.

string[] dinosaurs = { "Tyrannosaurus",
    "Amargasaurus",
    "Mamenchisaurus",
    "Brachiosaurus",
    "Deinonychus",
    "Tyrannosaurus",
    "Compsognathus" };

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

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

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

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

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
*/
open System

let dinosaurs =
    [| "Tyrannosaurus"
       "Amargasaurus"
       "Mamenchisaurus"
       "Brachiosaurus"
       "Deinonychus"
       "Tyrannosaurus"
       "Compsognathus" |]

printfn ""
for dino in dinosaurs do
    printfn $"{dino}"

Array.IndexOf(dinosaurs, "Tyrannosaurus")
|> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): %i"

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3)
|> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): %i"

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2)
|> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): %i"

// This code example produces the following output:
//
//    Tyrannosaurus
//    Amargasaurus
//    Mamenchisaurus
//    Brachiosaurus
//    Deinonychus
//    Tyrannosaurus
//    Compsognathus
//    
//    Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0
//
//    Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5
//
//    Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs() As String = { "Tyrannosaurus", _
            "Amargasaurus", _
            "Mamenchisaurus", _
            "Brachiosaurus", _
            "Deinonychus", _
            "Tyrannosaurus", _
            "Compsognathus" }

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

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

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

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

    End Sub
End Class

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

Comentários

Esse método pesquisa todos os elementos de uma matriz unidimensional para value. Para determinar se value existe array, o método executa uma comparação de igualdade usando o comparador EqualityComparer<T>.Defaultde igualdade padrão.

Esse método é uma operação O(n), onde n está o Length de array.

Confira também

Aplica-se a