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 List<T>.IndexOf (T)

 

Data di pubblicazione: ottobre 2016

Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza nell'intero oggetto List<T>.

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

public int IndexOf(
	T item
)

Parametri

item
Type: T

Oggetto da individuare nella raccolta List<T>. Il valore può essere null per i tipi di riferimento.

Valore restituito

Type: System.Int32

Indice in base zero della prima occorrenza di item all'interno dell'intero oggetto List<T>, se presente; in caso contrario, -1.

Il List<T> viene eseguita in avanti a partire dal primo elemento e termina all'ultimo elemento.

Questo metodo determina l'uguaglianza utilizzando l'operatore di uguaglianza predefinito EqualityComparer<T>.Default per T, il tipo di valori nell'elenco.

Questo metodo esegue una ricerca lineare. Pertanto, questo metodo è un'operazione O (n) operazione, in cui n è Count.

L'esempio seguente illustra i tre overload del IndexOf metodo. Oggetto List<T> di stringhe viene creato con una voce visualizzata due volte, una posizione di indice 0 e la posizione di indice 5. Il IndexOf(T) overload del metodo cerca nell'elenco a partire dall'inizio e trova la prima occorrenza della stringa. Il IndexOf(T, Int32) overload del metodo utilizzato per la ricerca nell'elenco a partire dalla posizione dell'indice 3 e continua fino alla fine dell'elenco e trova la seconda occorrenza della stringa. Infine, il IndexOf(T, Int32, Int32) overload del metodo viene utilizzato per un intervallo di due voci, a partire dalla posizione due dell'indice di ricerca, viene restituito – 1 perché non siano presenti istanze della stringa di ricerca in tale intervallo.

using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        List<string> dinosaurs = new List<string>();

        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Amargasaurus");
        dinosaurs.Add("Mamenchisaurus");
        dinosaurs.Add("Brachiosaurus");
        dinosaurs.Add("Deinonychus");
        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Compsognathus");

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

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

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

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

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

IndexOf("Tyrannosaurus"): 0

IndexOf("Tyrannosaurus", 3): 5

IndexOf("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: