Array.LastIndexOf Metodo

Definizione

Restituisce l'indice dell'ultima occorrenza di un valore in un Array unidimensionale o in una parte del Array.

Overload

LastIndexOf(Array, Object)

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intero Arrayunidimensionale .

LastIndexOf(Array, Object, Int32)

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intervallo di elementi nell'Array unidimensionale che si estende dal primo elemento all'indice specificato.

LastIndexOf(Array, Object, Int32, Int32)

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intervallo di elementi nell'Array unidimensionale contenente il numero specificato di elementi e termina in corrispondenza dell'indice specificato.

LastIndexOf<T>(T[], T)

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intero Array.

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

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intervallo di elementi nella Array che si estende dal primo elemento all'indice specificato.

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

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intervallo di elementi nella Array che contiene il numero specificato di elementi e termina in corrispondenza dell'indice specificato.

LastIndexOf(Array, Object)

Origine:
Array.cs
Origine:
Array.cs
Origine:
Array.cs

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intero Arrayunidimensionale .

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

Parametri

array
Array

Array unidimensionale da cercare.

value
Object

Oggetto da individuare in array.

Restituisce

Indice dell'ultima occorrenza di value all'interno dell'intero array, se trovato; in caso contrario, il limite inferiore della matrice meno 1.

Eccezioni

array è null.

array è multidimensionale.

Esempio

Nell'esempio di codice seguente viene illustrato come determinare l'indice dell'ultima occorrenza di un elemento specificato in una matrice.

// 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.
*/

Commenti

La Array unidimensionale viene eseguita una ricerca all'indietro a partire dall'ultimo elemento e termina con il primo elemento.

Gli elementi vengono confrontati con il valore specificato utilizzando il metodo Object.Equals. Se il tipo di elemento è un tipo nontrinsico (definito dall'utente), viene utilizzata l'implementazione Equals di tale tipo.

Poiché la maggior parte delle matrici avrà un limite inferiore pari a zero, questo metodo restituirà in genere -1 quando non viene trovato value. Nel raro caso in cui il limite inferiore della matrice sia uguale a Int32.MinValue e value non venga trovato, questo metodo restituisce Int32.MaxValue, che è System.Int32.MinValue - 1.

Questo metodo è un'operazione O(n), in cui n è il Length di array.

In .NET Framework 2.0 e versioni successive questo metodo usa i metodi Equals e CompareTo del Array per determinare se il Object specificato dal parametro value esiste. Nelle versioni precedenti di .NET Framework questa determinazione è stata effettuata usando i metodi Equals e CompareTo del valueObject stesso.

CompareTo metodi del parametro item sugli oggetti dell'insieme.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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)

Origine:
Array.cs
Origine:
Array.cs
Origine:
Array.cs

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intervallo di elementi nell'Array unidimensionale che si estende dal primo elemento all'indice specificato.

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

Parametri

array
Array

Array unidimensionale da cercare.

value
Object

Oggetto da individuare in array.

startIndex
Int32

Indice iniziale della ricerca all'indietro.

Restituisce

Indice dell'ultima occorrenza di value all'interno dell'intervallo di elementi in array che si estende dal primo elemento a startIndex, se trovato; in caso contrario, il limite inferiore della matrice meno 1.

Eccezioni

array è null.

startIndex non è compreso nell'intervallo di indici validi per array.

array è multidimensionale.

Esempio

Nell'esempio di codice seguente viene illustrato come determinare l'indice dell'ultima occorrenza di un elemento specificato in una matrice.

// 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.
*/

Commenti

La Array unidimensionale viene eseguita una ricerca all'indietro a partire da startIndex e termina con il primo elemento.

Gli elementi vengono confrontati con il valore specificato utilizzando il metodo Object.Equals. Se il tipo di elemento è un tipo nontrinsico (definito dall'utente), viene utilizzata l'implementazione Equals di tale tipo.

Poiché la maggior parte delle matrici avrà un limite inferiore pari a zero, questo metodo restituirà in genere -1 quando non viene trovato value. Nel raro caso in cui il limite inferiore della matrice sia uguale a Int32.MinValue e value non venga trovato, questo metodo restituisce Int32.MaxValue, che è System.Int32.MinValue - 1.

Questo metodo è un'operazione O(n), dove n è il numero di elementi dall'inizio di array a startIndex.

In .NET Framework 2.0 e versioni successive questo metodo usa i metodi Equals e CompareTo del Array per determinare se il Object specificato dal parametro value esiste. Nelle versioni precedenti di .NET Framework questa determinazione è stata effettuata usando i metodi Equals e CompareTo del valueObject stesso.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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)

Origine:
Array.cs
Origine:
Array.cs
Origine:
Array.cs

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intervallo di elementi nell'Array unidimensionale contenente il numero specificato di elementi e termina in corrispondenza dell'indice specificato.

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

Parametri

array
Array

Array unidimensionale da cercare.

value
Object

Oggetto da individuare in array.

startIndex
Int32

Indice iniziale della ricerca all'indietro.

count
Int32

Numero di elementi nella sezione da cercare.

Restituisce

Indice dell'ultima occorrenza di value all'interno dell'intervallo di elementi in array che contiene il numero di elementi specificati in count e termina in corrispondenza di startIndex, se trovato; in caso contrario, il limite inferiore della matrice meno 1.

Eccezioni

array è null.

startIndex non è compreso nell'intervallo di indici validi per array.

-o-

count è minore di zero.

-o-

startIndex e count non specificano una sezione valida in array.

array è multidimensionale.

Esempio

Nell'esempio di codice seguente viene illustrato come determinare l'indice dell'ultima occorrenza di un elemento specificato in una matrice. Si noti che il metodo LastIndexOf è una ricerca all'indietro; pertanto, count deve essere minore o uguale a (startIndex meno il limite inferiore della matrice più 1).

// 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.
*/

Commenti

L'Array unidimensionale viene eseguita una ricerca all'indietro a partire da startIndex e termina a startIndex meno count più 1, se count è maggiore di 0.

Gli elementi vengono confrontati con il valore specificato utilizzando il metodo Object.Equals. Se il tipo di elemento è un tipo nontrinsico (definito dall'utente), viene utilizzata l'implementazioneEquals di tale tipo.

Poiché la maggior parte delle matrici avrà un limite inferiore pari a zero, questo metodo restituirà in genere -1 quando non viene trovato value. Nel raro caso in cui il limite inferiore della matrice sia uguale a Int32.MinValue e value non venga trovato, questo metodo restituisce Int32.MaxValue, che è System.Int32.MinValue - 1.

Questo metodo è un'operazione O(n), in cui n è count.

In .NET Framework 2.0 e versioni successive questo metodo usa i metodi Equals e CompareTo del Array per determinare se il Object specificato dal parametro value esiste. Nelle versioni precedenti di .NET Framework questa determinazione è stata effettuata usando i metodi Equals e CompareTo del valueObject stesso.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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)

Origine:
Array.cs
Origine:
Array.cs
Origine:
Array.cs

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intero Array.

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

Parametri di tipo

T

Tipo degli elementi della matrice.

Parametri

array
T[]

Array in base zero unidimensionale da cercare.

value
T

Oggetto da individuare in array.

Restituisce

Indice in base zero dell'ultima occorrenza di value all'interno dell'intero array, se trovato; in caso contrario, -1.

Eccezioni

array è null.

Esempio

Nell'esempio di codice seguente vengono illustrati tutti e tre gli overload generici del metodo LastIndexOf. Viene creata una matrice di stringhe, con una voce che viene visualizzata due volte, in corrispondenza della posizione di indice 0 e della posizione di indice 5. L'overload del metodo LastIndexOf<T>(T[], T) cerca l'intera matrice dalla fine e trova la seconda occorrenza della stringa. L'overload del metodo LastIndexOf<T>(T[], T, Int32) viene usato per cercare la matrice all'indietro a partire dalla posizione di indice 3 e continuare fino all'inizio della matrice e trova la prima occorrenza della stringa. Infine, l'overload del metodo LastIndexOf<T>(T[], T, Int32, Int32) viene usato per cercare un intervallo di quattro voci, a partire dalla posizione di indice 4 ed estendendo all'indietro (ovvero cerca gli elementi in posizioni 4, 3, 2 e 1); questa ricerca restituisce -1 perché non sono presenti istanze della stringa di ricerca in tale intervallo.

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

Commenti

La Array viene eseguita una ricerca all'indietro a partire dall'ultimo elemento e termina con il primo elemento.

Gli elementi vengono confrontati con il valore specificato utilizzando il metodo Object.Equals. Se il tipo di elemento è un tipo nontrinsico (definito dall'utente), viene utilizzata l'implementazione Equals di tale tipo.

Questo metodo è un'operazione O(n), in cui n è il Length di array.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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)

Origine:
Array.cs
Origine:
Array.cs
Origine:
Array.cs

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intervallo di elementi nella Array che si estende dal primo elemento all'indice specificato.

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

Parametri di tipo

T

Tipo degli elementi della matrice.

Parametri

array
T[]

Array in base zero unidimensionale da cercare.

value
T

Oggetto da individuare in array.

startIndex
Int32

Indice iniziale in base zero della ricerca all'indietro.

Restituisce

Indice in base zero dell'ultima occorrenza di value all'interno dell'intervallo di elementi in array che si estende dal primo elemento a startIndex, se trovato; in caso contrario, -1.

Eccezioni

array è null.

startIndex non è compreso nell'intervallo di indici validi per array.

Esempio

Nell'esempio di codice seguente vengono illustrati tutti e tre gli overload generici del metodo LastIndexOf. Viene creata una matrice di stringhe, con una voce che viene visualizzata due volte, in corrispondenza della posizione di indice 0 e della posizione di indice 5. L'overload del metodo LastIndexOf<T>(T[], T) cerca l'intera matrice dalla fine e trova la seconda occorrenza della stringa. L'overload del metodo LastIndexOf<T>(T[], T, Int32) viene usato per cercare la matrice all'indietro a partire dalla posizione di indice 3 e continuare fino all'inizio della matrice e trova la prima occorrenza della stringa. Infine, l'overload del metodo LastIndexOf<T>(T[], T, Int32, Int32) viene usato per cercare un intervallo di quattro voci, a partire dalla posizione di indice 4 ed estendendo all'indietro (ovvero cerca gli elementi in posizioni 4, 3, 2 e 1); questa ricerca restituisce -1 perché non sono presenti istanze della stringa di ricerca in tale intervallo.

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

Commenti

La Array viene eseguita una ricerca all'indietro a partire da startIndex e termina con il primo elemento.

Gli elementi vengono confrontati con il valore specificato utilizzando il metodo Object.Equals. Se il tipo di elemento è un tipo nontrinsico (definito dall'utente), viene utilizzata l'implementazione Equals di tale tipo.

Questo metodo è un'operazione O(n), dove n è il numero di elementi dall'inizio di array a startIndex.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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)

Origine:
Array.cs
Origine:
Array.cs
Origine:
Array.cs

Cerca l'oggetto specificato e restituisce l'indice dell'ultima occorrenza all'interno dell'intervallo di elementi nella Array che contiene il numero specificato di elementi e termina in corrispondenza dell'indice specificato.

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

Parametri di tipo

T

Tipo degli elementi della matrice.

Parametri

array
T[]

Array in base zero unidimensionale da cercare.

value
T

Oggetto da individuare in array.

startIndex
Int32

Indice iniziale in base zero della ricerca all'indietro.

count
Int32

Numero di elementi nella sezione da cercare.

Restituisce

Indice in base zero dell'ultima occorrenza di value all'interno dell'intervallo di elementi in array che contiene il numero di elementi specificati in count e termina in corrispondenza di startIndex, se trovato; in caso contrario, -1.

Eccezioni

array è null.

startIndex non è compreso nell'intervallo di indici validi per array.

-o-

count è minore di zero.

-o-

startIndex e count non specificano una sezione valida in array.

Esempio

Nell'esempio di codice seguente vengono illustrati tutti e tre gli overload generici del metodo LastIndexOf. Viene creata una matrice di stringhe, con una voce che viene visualizzata due volte, in corrispondenza della posizione di indice 0 e della posizione di indice 5. L'overload del metodo LastIndexOf<T>(T[], T) cerca l'intera matrice dalla fine e trova la seconda occorrenza della stringa. L'overload del metodo LastIndexOf<T>(T[], T, Int32) viene usato per cercare la matrice all'indietro a partire dalla posizione di indice 3 e continuare fino all'inizio della matrice e trova la prima occorrenza della stringa. Infine, l'overload del metodo LastIndexOf<T>(T[], T, Int32, Int32) viene usato per cercare un intervallo di quattro voci, a partire dalla posizione di indice 4 ed estendendo all'indietro (ovvero cerca gli elementi in posizioni 4, 3, 2 e 1); questa ricerca restituisce -1 perché non sono presenti istanze della stringa di ricerca in tale intervallo.

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

Commenti

Il Array viene eseguito la ricerca all'indietro a partire da startIndex e termina a startIndex meno count più 1, se count è maggiore di 0.

Gli elementi vengono confrontati con il valore specificato utilizzando il metodo Object.Equals. Se il tipo di elemento è un tipo nontrinsico (definito dall'utente), viene utilizzata l'implementazione Equals di tale tipo.

Questo metodo è un'operazione O(n), in cui n è count.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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