Ler em inglês

Compartilhar via


Array.LastIndexOf Método

Definição

Retorna o índice da última ocorrência de um valor em um Array unidimensional ou em uma parte do Array.

Sobrecargas

LastIndexOf(Array, Object)

Pesquisa o objeto especificado e retorna o índice da última ocorrência dentro de todo o Arrayunidimensional.

LastIndexOf(Array, Object, Int32)

Pesquisa o objeto especificado e retorna o índice da última ocorrência dentro do intervalo de elementos no Array unidimensional que se estende do primeiro elemento para o índice especificado.

LastIndexOf(Array, Object, Int32, Int32)

Pesquisa o objeto especificado e retorna o índice da última ocorrência dentro do intervalo de elementos no Array unidimensional que contém o número especificado de elementos e termina no índice especificado.

LastIndexOf<T>(T[], T)

Pesquisa o objeto especificado e retorna o índice da última ocorrência em todo o Array.

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

Pesquisa o objeto especificado e retorna o índice da última ocorrência dentro do intervalo de elementos no Array que se estende do primeiro elemento para o índice especificado.

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

Pesquisa o objeto especificado e retorna o índice da última ocorrência dentro do intervalo de elementos no Array que contém o número especificado de elementos e termina no índice especificado.

LastIndexOf(Array, Object)

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

Pesquisa o objeto especificado e retorna o índice da última ocorrência dentro de todo o Arrayunidimensional.

C#
public static int LastIndexOf (Array array, object value);
C#
public static int LastIndexOf (Array array, object? value);

Parâmetros

array
Array

O Array unidimensional a ser pesquisado.

value
Object

O objeto a ser localizado em array.

Retornos

O índice da última ocorrência de value em toda a array, se encontrado; caso contrário, o limite inferior da matriz menos 1.

Exceções

array é null.

array é multidimensional.

Exemplos

O exemplo de código a seguir mostra como determinar o índice da última ocorrência de um elemento especificado em uma matriz.

C#
// Creates and initializes a new Array with three elements of the same value.
Array myArray=Array.CreateInstance( typeof(string), 12 );
myArray.SetValue( "the", 0 );
myArray.SetValue( "quick", 1 );
myArray.SetValue( "brown", 2 );
myArray.SetValue( "fox", 3 );
myArray.SetValue( "jumps", 4 );
myArray.SetValue( "over", 5 );
myArray.SetValue( "the", 6 );
myArray.SetValue( "lazy", 7 );
myArray.SetValue( "dog", 8 );
myArray.SetValue( "in", 9 );
myArray.SetValue( "the", 10 );
myArray.SetValue( "barn", 11 );

// Displays the values of the Array.
Console.WriteLine( "The Array contains the following values:" );
PrintIndexAndValues( myArray );

// Searches for the last occurrence of the duplicated value.
string myString = "the";
int myIndex = Array.LastIndexOf( myArray, myString );
Console.WriteLine( "The last occurrence of \"{0}\" is at index {1}.", myString, myIndex );

// Searches for the last occurrence of the duplicated value in the first section of the Array.
myIndex = Array.LastIndexOf( myArray, myString, 8 );
Console.WriteLine( "The last occurrence of \"{0}\" between the start and index 8 is at index {1}.", myString, myIndex );

// Searches for the last occurrence of the duplicated value in a section of the Array.
// Note that the start index is greater than the end index because the search is done backward.
myIndex = Array.LastIndexOf( myArray, myString, 10, 6 );
Console.WriteLine( "The last occurrence of \"{0}\" between index 5 and index 10 is at index {1}.", myString, myIndex );

void PrintIndexAndValues( Array anArray )  {
   for ( int i = anArray.GetLowerBound(0); i <= anArray.GetUpperBound(0); i++ )
      Console.WriteLine( "\t[{0}]:\t{1}", i, anArray.GetValue( i ) );
}

/*
This code produces 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 last occurrence of "the" is at index 10.
The last occurrence of "the" between the start and index 8 is at index 6.
The last occurrence of "the" between index 5 and index 10 is at index 10.
*/

Comentários

O Array unidimensional é pesquisado para trás começando no último elemento e terminando no primeiro elemento.

Os elementos são comparados com o valor especificado usando o método Object.Equals. Se o tipo de elemento for um tipo nãointrinsico (definido pelo usuário), a implementação Equals desse tipo será usada.

Como a maioria das matrizes terá um limite inferior de zero, esse método geralmente retornaria -1 quando value não for encontrado. No caso raro de o limite inferior da matriz ser igual a Int32.MinValue e value não for encontrado, esse método retornará Int32.MaxValue, que é System.Int32.MinValue - 1.

Esse método é uma operação O(n), em que n é o Length de array.

No .NET Framework 2.0 e versões posteriores, esse método usa os métodos Equals e CompareTo do Array para determinar se o Object especificado pelo parâmetro value existe. Em versões anteriores do .NET Framework, essa determinação foi feita usando os métodos Equals e CompareTo do próprio valueObject.

CompareTo métodos do parâmetro item nos objetos da coleção.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

LastIndexOf(Array, Object, Int32)

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

Pesquisa o objeto especificado e retorna o índice da última ocorrência dentro do intervalo de elementos no Array unidimensional que se estende do primeiro elemento para o índice especificado.

C#
public static int LastIndexOf (Array array, object value, int startIndex);
C#
public static int LastIndexOf (Array array, object? value, int startIndex);

Parâmetros

array
Array

O Array unidimensional a ser pesquisado.

value
Object

O objeto a ser localizado em array.

startIndex
Int32

O índice inicial da pesquisa com versões anteriores.

Retornos

O índice da última ocorrência de value dentro do intervalo de elementos em array que se estende do primeiro elemento para startIndex, se encontrado; 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 de código a seguir mostra como determinar o índice da última ocorrência de um elemento especificado em uma matriz.

C#
// Creates and initializes a new Array with three elements of the same value.
Array myArray=Array.CreateInstance( typeof(string), 12 );
myArray.SetValue( "the", 0 );
myArray.SetValue( "quick", 1 );
myArray.SetValue( "brown", 2 );
myArray.SetValue( "fox", 3 );
myArray.SetValue( "jumps", 4 );
myArray.SetValue( "over", 5 );
myArray.SetValue( "the", 6 );
myArray.SetValue( "lazy", 7 );
myArray.SetValue( "dog", 8 );
myArray.SetValue( "in", 9 );
myArray.SetValue( "the", 10 );
myArray.SetValue( "barn", 11 );

// Displays the values of the Array.
Console.WriteLine( "The Array contains the following values:" );
PrintIndexAndValues( myArray );

// Searches for the last occurrence of the duplicated value.
string myString = "the";
int myIndex = Array.LastIndexOf( myArray, myString );
Console.WriteLine( "The last occurrence of \"{0}\" is at index {1}.", myString, myIndex );

// Searches for the last occurrence of the duplicated value in the first section of the Array.
myIndex = Array.LastIndexOf( myArray, myString, 8 );
Console.WriteLine( "The last occurrence of \"{0}\" between the start and index 8 is at index {1}.", myString, myIndex );

// Searches for the last occurrence of the duplicated value in a section of the Array.
// Note that the start index is greater than the end index because the search is done backward.
myIndex = Array.LastIndexOf( myArray, myString, 10, 6 );
Console.WriteLine( "The last occurrence of \"{0}\" between index 5 and index 10 is at index {1}.", myString, myIndex );

void PrintIndexAndValues( Array anArray )  {
   for ( int i = anArray.GetLowerBound(0); i <= anArray.GetUpperBound(0); i++ )
      Console.WriteLine( "\t[{0}]:\t{1}", i, anArray.GetValue( i ) );
}

/*
This code produces 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 last occurrence of "the" is at index 10.
The last occurrence of "the" between the start and index 8 is at index 6.
The last occurrence of "the" between index 5 and index 10 is at index 10.
*/

Comentários

A Array unidimensional é pesquisada para trás, começando em startIndex e terminando no primeiro elemento.

Os elementos são comparados com o valor especificado usando o método Object.Equals. Se o tipo de elemento for um tipo nãointrinsico (definido pelo usuário), a implementação Equals desse tipo será usada.

Como a maioria das matrizes terá um limite inferior de zero, esse método geralmente retornaria -1 quando value não for encontrado. No caso raro de o limite inferior da matriz ser igual a Int32.MinValue e value não for encontrado, esse método retornará Int32.MaxValue, que é System.Int32.MinValue - 1.

Esse método é uma operação O(n), em que n é o número de elementos desde o início do array até startIndex.

No .NET Framework 2.0 e versões posteriores, esse método usa os métodos Equals e CompareTo do Array para determinar se o Object especificado pelo parâmetro value existe. Em versões anteriores do .NET Framework, essa determinação foi feita usando os métodos Equals e CompareTo do próprio valueObject.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

LastIndexOf(Array, Object, Int32, Int32)

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

Pesquisa o objeto especificado e retorna o índice da última ocorrência dentro do intervalo de elementos no Array unidimensional que contém o número especificado de elementos e termina no índice especificado.

C#
public static int LastIndexOf (Array array, object value, int startIndex, int count);
C#
public static int LastIndexOf (Array array, object? value, int startIndex, int count);

Parâmetros

array
Array

O Array unidimensional a ser pesquisado.

value
Object

O objeto a ser localizado em array.

startIndex
Int32

O índice inicial da pesquisa com versões anteriores.

count
Int32

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

Retornos

O índice da última ocorrência de value dentro do intervalo de elementos em array que contém o número de elementos especificados em count e termina em startIndex, se encontrado; 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 count não especificam uma seção válida no array.

array é multidimensional.

Exemplos

O exemplo de código a seguir mostra como determinar o índice da última ocorrência de um elemento especificado em uma matriz. Observe que o método LastIndexOf é uma pesquisa com versões anteriores; portanto, count deve ser menor ou igual a (startIndex menos o limite inferior da matriz mais 1).

C#
// Creates and initializes a new Array with three elements of the same value.
Array myArray=Array.CreateInstance( typeof(string), 12 );
myArray.SetValue( "the", 0 );
myArray.SetValue( "quick", 1 );
myArray.SetValue( "brown", 2 );
myArray.SetValue( "fox", 3 );
myArray.SetValue( "jumps", 4 );
myArray.SetValue( "over", 5 );
myArray.SetValue( "the", 6 );
myArray.SetValue( "lazy", 7 );
myArray.SetValue( "dog", 8 );
myArray.SetValue( "in", 9 );
myArray.SetValue( "the", 10 );
myArray.SetValue( "barn", 11 );

// Displays the values of the Array.
Console.WriteLine( "The Array contains the following values:" );
PrintIndexAndValues( myArray );

// Searches for the last occurrence of the duplicated value.
string myString = "the";
int myIndex = Array.LastIndexOf( myArray, myString );
Console.WriteLine( "The last occurrence of \"{0}\" is at index {1}.", myString, myIndex );

// Searches for the last occurrence of the duplicated value in the first section of the Array.
myIndex = Array.LastIndexOf( myArray, myString, 8 );
Console.WriteLine( "The last occurrence of \"{0}\" between the start and index 8 is at index {1}.", myString, myIndex );

// Searches for the last occurrence of the duplicated value in a section of the Array.
// Note that the start index is greater than the end index because the search is done backward.
myIndex = Array.LastIndexOf( myArray, myString, 10, 6 );
Console.WriteLine( "The last occurrence of \"{0}\" between index 5 and index 10 is at index {1}.", myString, myIndex );

void PrintIndexAndValues( Array anArray )  {
   for ( int i = anArray.GetLowerBound(0); i <= anArray.GetUpperBound(0); i++ )
      Console.WriteLine( "\t[{0}]:\t{1}", i, anArray.GetValue( i ) );
}

/*
This code produces 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 last occurrence of "the" is at index 10.
The last occurrence of "the" between the start and index 8 is at index 6.
The last occurrence of "the" between index 5 and index 10 is at index 10.
*/

Comentários

A Array unidimensional é pesquisada para trás começando em startIndex e terminando em startIndex menos count mais 1, se count for maior que 0.

Os elementos são comparados com o valor especificado usando o método Object.Equals. Se o tipo de elemento for um tipo nãointrinsico (definido pelo usuário), a implementaçãoEquals desse tipo será usada.

Como a maioria das matrizes terá um limite inferior de zero, esse método geralmente retornaria -1 quando value não for encontrado. No caso raro de o limite inferior da matriz ser igual a Int32.MinValue e value não for encontrado, esse método retornará Int32.MaxValue, que é System.Int32.MinValue - 1.

Esse método é uma operação O(n), em que n é count.

No .NET Framework 2.0 e versões posteriores, esse método usa os métodos Equals e CompareTo do Array para determinar se o Object especificado pelo parâmetro value existe. Em versões anteriores do .NET Framework, essa determinação foi feita usando os métodos Equals e CompareTo do próprio valueObject.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

LastIndexOf<T>(T[], T)

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

Pesquisa o objeto especificado e retorna o índice da última ocorrência em todo o Array.

C#
public static int LastIndexOf<T> (T[] array, T value);

Parâmetros de tipo

T

O tipo dos elementos da matriz.

Parâmetros

array
T[]

A Array unidimensional baseada em zero a ser pesquisada.

value
T

O objeto a ser localizado em array.

Retornos

O índice baseado em zero da última ocorrência de value em toda a array, se encontrado; caso contrário, -1.

Exceções

array é null.

Exemplos

O exemplo de código a seguir demonstra todas as três sobrecargas genéricas do método LastIndexOf. 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 sobrecarga do método LastIndexOf<T>(T[], T) pesquisa toda a matriz do final e localiza a segunda ocorrência da cadeia de caracteres. A sobrecarga do método LastIndexOf<T>(T[], T, Int32) é usada para pesquisar a matriz para trás começando com o local do índice 3 e continuando até o início da matriz e localiza a primeira ocorrência da cadeia de caracteres. Por fim, a sobrecarga do método LastIndexOf<T>(T[], T, Int32, Int32) é usada para pesquisar um intervalo de quatro entradas, começando no local do índice 4 e estendendo-se para trás (ou seja, pesquisa os itens nos locais 4, 3, 2 e 1); essa pesquisa retorna -1 porque não há instâncias da cadeia de caracteres de pesquisa nesse intervalo.

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

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

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

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

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

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.LastIndexOf(dinosaurs, "Tyrannosaurus"): 5

Array.LastIndexOf(dinosaurs, "Tyrannosaurus", 3): 0

Array.LastIndexOf(dinosaurs, "Tyrannosaurus", 4, 4): -1
*/

Comentários

O Array é pesquisado para trás começando no último elemento e terminando no primeiro elemento.

Os elementos são comparados com o valor especificado usando o método Object.Equals. Se o tipo de elemento for um tipo nãointrinsico (definido pelo usuário), a implementação Equals desse tipo será usada.

Esse método é uma operação O(n), em que n é o Length de array.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

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

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

Pesquisa o objeto especificado e retorna o índice da última ocorrência dentro do intervalo de elementos no Array que se estende do primeiro elemento para o índice especificado.

C#
public static int LastIndexOf<T> (T[] array, T value, int startIndex);

Parâmetros de tipo

T

O tipo dos elementos da matriz.

Parâmetros

array
T[]

A Array 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 com base em zero.

Retornos

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

Exceções

array é null.

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

Exemplos

O exemplo de código a seguir demonstra todas as três sobrecargas genéricas do método LastIndexOf. 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 sobrecarga do método LastIndexOf<T>(T[], T) pesquisa toda a matriz do final e localiza a segunda ocorrência da cadeia de caracteres. A sobrecarga do método LastIndexOf<T>(T[], T, Int32) é usada para pesquisar a matriz para trás começando com o local do índice 3 e continuando até o início da matriz e localiza a primeira ocorrência da cadeia de caracteres. Por fim, a sobrecarga do método LastIndexOf<T>(T[], T, Int32, Int32) é usada para pesquisar um intervalo de quatro entradas, começando no local do índice 4 e estendendo-se para trás (ou seja, pesquisa os itens nos locais 4, 3, 2 e 1); essa pesquisa retorna -1 porque não há instâncias da cadeia de caracteres de pesquisa nesse intervalo.

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

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

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

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

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

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.LastIndexOf(dinosaurs, "Tyrannosaurus"): 5

Array.LastIndexOf(dinosaurs, "Tyrannosaurus", 3): 0

Array.LastIndexOf(dinosaurs, "Tyrannosaurus", 4, 4): -1
*/

Comentários

O Array é pesquisado para trás começando em startIndex e terminando no primeiro elemento.

Os elementos são comparados com o valor especificado usando o método Object.Equals. Se o tipo de elemento for um tipo nãointrinsico (definido pelo usuário), a implementação Equals desse tipo será usada.

Esse método é uma operação O(n), em que n é o número de elementos desde o início do array até startIndex.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

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

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

Pesquisa o objeto especificado e retorna o índice da última ocorrência dentro do intervalo de elementos no Array que contém o número especificado de elementos e termina no índice especificado.

C#
public static int LastIndexOf<T> (T[] array, T value, int startIndex, int count);

Parâmetros de tipo

T

O tipo dos elementos da matriz.

Parâmetros

array
T[]

A Array 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 com base em zero.

count
Int32

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

Retornos

O índice baseado em zero da última ocorrência de value dentro do intervalo de elementos em array que contém o número de elementos especificados em count e termina em startIndex, 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 count não especificam uma seção válida no array.

Exemplos

O exemplo de código a seguir demonstra todas as três sobrecargas genéricas do método LastIndexOf. 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 sobrecarga do método LastIndexOf<T>(T[], T) pesquisa toda a matriz do final e localiza a segunda ocorrência da cadeia de caracteres. A sobrecarga do método LastIndexOf<T>(T[], T, Int32) é usada para pesquisar a matriz para trás começando com o local do índice 3 e continuando até o início da matriz e localiza a primeira ocorrência da cadeia de caracteres. Por fim, a sobrecarga do método LastIndexOf<T>(T[], T, Int32, Int32) é usada para pesquisar um intervalo de quatro entradas, começando no local do índice 4 e estendendo-se para trás (ou seja, pesquisa os itens nos locais 4, 3, 2 e 1); essa pesquisa retorna -1 porque não há instâncias da cadeia de caracteres de pesquisa nesse intervalo.

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

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

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

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

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

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.LastIndexOf(dinosaurs, "Tyrannosaurus"): 5

Array.LastIndexOf(dinosaurs, "Tyrannosaurus", 3): 0

Array.LastIndexOf(dinosaurs, "Tyrannosaurus", 4, 4): -1
*/

Comentários

O Array é pesquisado para trás começando em startIndex e terminando em startIndex menos count mais 1, se count for maior que 0.

Os elementos são comparados com o valor especificado usando o método Object.Equals. Se o tipo de elemento for um tipo nãointrinsico (definido pelo usuário), a implementação Equals desse tipo será usada.

Esse método é uma operação O(n), em que n é count.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0