Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Metodo IndexOf(T) (T[], T, Int32)
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

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

Cerca l'oggetto specificato e restituisce l'indice della prima occorrenza all'interno dell'intervallo di elementi dell'oggetto Array compreso tra l'indice specificato e l'ultimo elemento.

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

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

Parametri di tipo

T

Tipo degli elementi della matrice.

Parametri

array
Tipo: T[]
Oggetto Array unidimensionale e in base zero in cui effettuare la ricerca.
value
Tipo: T
Oggetto da individuare in array.
startIndex
Tipo: System.Int32
Indice iniziale in base zero della ricerca. 0 (zero) è valido in una matrice vuota.

Valore restituito

Tipo: System.Int32
Indice in base zero della prima occorrenza del valore indicato nel parametro value all'interno dell'intervallo di elementi della matrice array compreso tra l'indice startIndex e l'ultimo elemento, se trovato; in caso contrario, –1.

EccezioneCondizione
ArgumentNullException

array è null.

ArgumentOutOfRangeException

startIndex non rientra nell'intervallo di indici validi per array.

La ricerca in Array viene eseguita in avanti a partire da startIndex e termina all'ultimo elemento.

Gli elementi vengono confrontati con il valore specificato utilizzando il metodo Object.Equals. Se il tipo di elemento è un tipo non intrinseco (definito dall'utente), verrà utilizzata l'implementazione Equals del tipo.

Se la proprietà Length della matrice viene passata come parametro startindex, verrà restituito il valore -1. Se invece si passano valori maggiori del valore di lunghezza, verrà generata un'eccezione ArgumentOutOfRangeException.

Il metodo corrisponde a un'operazione O(n), in cui n rappresenta il numero di elementi compresi fra la posizione startIndex e la fine della matrice array.

Nell'esempio di codice riportato di seguito vengono illustrati tutti i tre overload generici del metodo IndexOf. Viene creata una matrice di stringhe, con una voce visualizzata due volte, una posizione di indice 0 e una di indice 5. L'overload del metodo IndexOf<T>(T[], T) esegue ricerche nella matrice dall'inizio e trova la prima occorrenza della stringa. Mediante l'overload del metodo IndexOf<T>(T[], T, Int32) viene eseguita la ricerca nella matrice a partire dalla posizione 3 dell'indice, continuando fino alla fine della matrice e viene trovata la seconda occorrenza della stringa. Infine, mediante l'overload del metodo IndexOf<T>(T[], T, Int32, Int32) viene eseguita la ricerca in un intervallo di due voci, a partire dalla posizione due dell'indice; viene restituito –1 in quanto non esiste alcuna istanza 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
 */


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft