Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Array.IndexOf<T>(T[], T, Int32)

 

Data di pubblicazione: ottobre 2016

Cerca l'oggetto specificato e restituisce l'indice della prima occorrenza in un intervallo di elementi di una matrice unidimensionale. L'intervallo si estende da un indice specificato fino alla fine della matrice.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

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

Parametri

array
Type: T[]

Matrice unidimensionale in base zero in cui eseguire la ricerca.

value
Type: T

Oggetto da trovare in array.

startIndex
Type: System.Int32

Indice iniziale in base zero della ricerca. 0 (zero) è valido in una matrice vuota.

Valore restituito

Type: System.Int32

Indice in base zero della prima occorrenza di value all'interno dell'intervallo di elementi nell'oggetto array compreso tra startIndex e l'ultimo elemento, se trovato; in caso contrario, –1.

Parametri tipo

T

Tipo degli elementi della matrice.

Exception Condition
ArgumentNullException

array è null.

ArgumentOutOfRangeException

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

Questo metodo cerca in una matrice unidimensionale rispetto all'elemento startIndex alla fine della matrice. Per determinare se value esiste array, il metodo esegue un confronto di uguaglianza chiamando il T.Equals metodo su ogni elemento. Questo significa che se T esegue l'override di Equals , tale sostituzione viene chiamato.

Se startIndex è uguale a Length, il metodo restituisce - 1.If startIndex è maggiore di Array.Length, il metodo genera un ArgumentOutOfRangeException.

Questo metodo è un'operazione O (n) operazione, in cui n è il numero di elementi da startIndex alla fine di array.

L'esempio seguente illustra i tre overload generico del IndexOf metodo. Viene creata una matrice di stringhe, con una voce visualizzata due volte, una posizione di indice 0 e la posizione di indice 5. Il IndexOf<T>(T[], T) overload del metodo cerca nella matrice dall'inizio e trova la prima occorrenza della stringa. Il IndexOf<T>(T[], T, Int32) overload del metodo utilizzato per la ricerca nella matrice a partire dalla posizione dell'indice 3 e continuando fino alla fine della matrice e trova la seconda occorrenza della stringa. Infine, il IndexOf<T>(T[], T, Int32, Int32) overload del metodo utilizzato per la ricerca di un intervallo di due voci, a partire dalla posizione di indice due; restituisce -1 poiché non siano presenti istanze della stringa di ricerca in tale intervallo.

using System;

public class Example
{
    public static void Main()
    {
        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
 */

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 2.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: