List<T>.IndexOf Metodo

Definizione

Restituisce l'indice in base zero della prima occorrenza di un valore in List<T> o in una parte di esso.Returns the zero-based index of the first occurrence of a value in the List<T> or in a portion of it.

Overload

IndexOf(T, Int32)

Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> che è compreso tra l'indice specificato e l'ultimo elemento.Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List<T> that extends from the specified index to the last element.

IndexOf(T, Int32, Int32)

Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> che inizia in corrispondenza dell'indice specificato e contiene il numero di elementi specificato.Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List<T> that starts at the specified index and contains the specified number of elements.

IndexOf(T)

Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza nell'intera classe List<T>.Searches for the specified object and returns the zero-based index of the first occurrence within the entire List<T>.

IndexOf(T, Int32)

Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> che è compreso tra l'indice specificato e l'ultimo elemento.Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List<T> that extends from the specified index to the last element.

public:
 int IndexOf(T item, int index);
public int IndexOf (T item, int index);
member this.IndexOf : 'T * int -> int
Public Function IndexOf (item As T, index As Integer) As Integer

Parametri

item
T

Oggetto da individuare nella raccolta List<T>.The object to locate in the List<T>. Il valore può essere null per i tipi di riferimento.The value can be null for reference types.

index
Int32

Indice iniziale in base zero della ricerca.The zero-based starting index of the search. 0 (zero) è valido in un elenco vuoto.0 (zero) is valid in an empty list.

Restituisce

Indice in base zero della prima occorrenza di item all'interno dell'intervallo di elementi dell'oggetto List<T> compreso tra index e l'ultimo elemento, se presente; in caso contrario, -1.The zero-based index of the first occurrence of item within the range of elements in the List<T> that extends from index to the last element, if found; otherwise, -1.

Eccezioni

index non è compreso nell'intervallo di indici validi per List<T>.index is outside the range of valid indexes for the List<T>.

Esempi

Nell'esempio seguente vengono illustrati tutti e tre gli overload del metodo IndexOf.The following example demonstrates all three overloads of the IndexOf method. Viene creata una List<T> di stringhe, con una voce che viene visualizzata due volte, nella posizione dell'indice 0 e nella posizione di indice 5.A List<T> of strings is created, with one entry that appears twice, at index location 0 and index location 5. L'overload del metodo IndexOf(T) esegue la ricerca nell'elenco dall'inizio e trova la prima occorrenza della stringa.The IndexOf(T) method overload searches the list from the beginning, and finds the first occurrence of the string. L'overload del metodo IndexOf(T, Int32) viene usato per eseguire una ricerca nell'elenco a partire dalla posizione di indice 3 e continuare fino alla fine dell'elenco e trova la seconda occorrenza della stringa.The IndexOf(T, Int32) method overload is used to search the list beginning with index location 3 and continuing to the end of the list, and finds the second occurrence of the string. Infine, viene utilizzato l'overload del metodo IndexOf(T, Int32, Int32) per eseguire la ricerca in un intervallo di due voci, a partire dalla posizione di indice due; Restituisce-1 perché non sono presenti istanze della stringa di ricerca in tale intervallo.Finally, the IndexOf(T, Int32, Int32) method overload is used to search a range of two entries, beginning at index location two; it returns -1 because there are no instances of the search string in that range.

using namespace System;
using namespace System::Collections::Generic;

void main()
{
    List<String^>^ dinosaurs = gcnew 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();
    for each(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
 */
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
 */
Imports System.Collections.Generic

Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs As New List(Of String)

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

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus""): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus"))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 3): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 3))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 2, 2): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 2, 2))

    End Sub
End Class

' 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

Commenti

Il List<T> viene cercato in futuro a partire da index e termina in corrispondenza dell'ultimo elemento.The List<T> is searched forward starting at index and ending at the last element.

Questo metodo determina l'uguaglianza utilizzando l'operatore di confronto di uguaglianza predefinito EqualityComparer<T>.Default per T, il tipo di valori nell'elenco.This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.

Questo metodo esegue una ricerca lineare; Pertanto, questo metodo è un'operazione O (n), dove n è il numero di elementi da index alla fine del List<T>.This method performs a linear search; therefore, this method is an O(n) operation, where n is the number of elements from index to the end of the List<T>.

Vedi anche

IndexOf(T, Int32, Int32)

Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> che inizia in corrispondenza dell'indice specificato e contiene il numero di elementi specificato.Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List<T> that starts at the specified index and contains the specified number of elements.

public:
 int IndexOf(T item, int index, int count);
public int IndexOf (T item, int index, int count);
member this.IndexOf : 'T * int * int -> int
Public Function IndexOf (item As T, index As Integer, count As Integer) As Integer

Parametri

item
T

Oggetto da individuare nella raccolta List<T>.The object to locate in the List<T>. Il valore può essere null per i tipi di riferimento.The value can be null for reference types.

index
Int32

Indice iniziale in base zero della ricerca.The zero-based starting index of the search. 0 (zero) è valido in un elenco vuoto.0 (zero) is valid in an empty list.

count
Int32

Numero di elementi nella sezione in cui eseguire la ricerca.The number of elements in the section to search.

Restituisce

Indice in base zero della prima occorrenza di item all'interno dell'intervallo di elementi dell'oggetto List<T> che inizia da index e contiene il numero di elementi corrispondente a count, se presente; in caso contrario, -1.The zero-based index of the first occurrence of item within the range of elements in the List<T> that starts at index and contains count number of elements, if found; otherwise, -1.

Eccezioni

index non è compreso nell'intervallo di indici validi per List<T>.index is outside the range of valid indexes for the List<T>.

-oppure--or- count è minore di 0.count is less than 0.

-oppure--or- index e count non specificano una sezione valida in List<T>.index and count do not specify a valid section in the List<T>.

Esempi

Nell'esempio seguente vengono illustrati tutti e tre gli overload del metodo IndexOf.The following example demonstrates all three overloads of the IndexOf method. Viene creata una List<T> di stringhe, con una voce che viene visualizzata due volte, nella posizione dell'indice 0 e nella posizione di indice 5.A List<T> of strings is created, with one entry that appears twice, at index location 0 and index location 5. L'overload del metodo IndexOf(T) esegue la ricerca nell'elenco dall'inizio e trova la prima occorrenza della stringa.The IndexOf(T) method overload searches the list from the beginning, and finds the first occurrence of the string. L'overload del metodo IndexOf(T, Int32) viene usato per eseguire una ricerca nell'elenco a partire dalla posizione di indice 3 e continuare fino alla fine dell'elenco e trova la seconda occorrenza della stringa.The IndexOf(T, Int32) method overload is used to search the list beginning with index location 3 and continuing to the end of the list, and finds the second occurrence of the string. Infine, viene utilizzato l'overload del metodo IndexOf(T, Int32, Int32) per eseguire la ricerca in un intervallo di due voci, a partire dalla posizione di indice due; Restituisce-1 perché non sono presenti istanze della stringa di ricerca in tale intervallo.Finally, the IndexOf(T, Int32, Int32) method overload is used to search a range of two entries, beginning at index location two; it returns -1 because there are no instances of the search string in that range.

using namespace System;
using namespace System::Collections::Generic;

void main()
{
    List<String^>^ dinosaurs = gcnew 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();
    for each(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
 */
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
 */
Imports System.Collections.Generic

Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs As New List(Of String)

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

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus""): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus"))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 3): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 3))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 2, 2): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 2, 2))

    End Sub
End Class

' 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

Commenti

Il List<T> viene cercato in un secondo momento a partire da index e termina in corrispondenza di index più count meno 1, se count è maggiore di 0.The List<T> is searched forward starting at index and ending at index plus count minus 1, if count is greater than 0.

Questo metodo determina l'uguaglianza utilizzando l'operatore di confronto di uguaglianza predefinito EqualityComparer<T>.Default per T, il tipo di valori nell'elenco.This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.

Questo metodo esegue una ricerca lineare; Pertanto, questo metodo è un'operazione O (n), dove n è count.This method performs a linear search; therefore, this method is an O(n) operation, where n is count.

Vedi anche

IndexOf(T)

Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza nell'intera classe List<T>.Searches for the specified object and returns the zero-based index of the first occurrence within the entire List<T>.

public:
 virtual int IndexOf(T item);
public int IndexOf (T item);
abstract member IndexOf : 'T -> int
override this.IndexOf : 'T -> int
Public Function IndexOf (item As T) As Integer

Parametri

item
T

Oggetto da individuare nella raccolta List<T>.The object to locate in the List<T>. Il valore può essere null per i tipi di riferimento.The value can be null for reference types.

Restituisce

Indice in base zero della prima occorrenza di item all'interno dell'intero oggetto List<T>, se presente; in caso contrario, -1.The zero-based index of the first occurrence of item within the entire List<T>, if found; otherwise, -1.

Implementazioni

Esempi

Nell'esempio seguente vengono illustrati tutti e tre gli overload del metodo IndexOf.The following example demonstrates all three overloads of the IndexOf method. Viene creata una List<T> di stringhe, con una voce che viene visualizzata due volte, nella posizione dell'indice 0 e nella posizione di indice 5.A List<T> of strings is created, with one entry that appears twice, at index location 0 and index location 5. L'overload del metodo IndexOf(T) esegue la ricerca nell'elenco dall'inizio e trova la prima occorrenza della stringa.The IndexOf(T) method overload searches the list from the beginning, and finds the first occurrence of the string. L'overload del metodo IndexOf(T, Int32) viene usato per eseguire una ricerca nell'elenco a partire dalla posizione di indice 3 e continuare fino alla fine dell'elenco e trova la seconda occorrenza della stringa.The IndexOf(T, Int32) method overload is used to search the list beginning with index location 3 and continuing to the end of the list, and finds the second occurrence of the string. Infine, viene utilizzato l'overload del metodo IndexOf(T, Int32, Int32) per eseguire la ricerca in un intervallo di due voci, a partire dalla posizione di indice due; Restituisce-1 perché non sono presenti istanze della stringa di ricerca in tale intervallo.Finally, the IndexOf(T, Int32, Int32) method overload is used to search a range of two entries, beginning at index location two; it returns -1 because there are no instances of the search string in that range.

using namespace System;
using namespace System::Collections::Generic;

void main()
{
    List<String^>^ dinosaurs = gcnew 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();
    for each(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
 */
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
 */
Imports System.Collections.Generic

Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs As New List(Of String)

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

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus""): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus"))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 3): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 3))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 2, 2): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 2, 2))

    End Sub
End Class

' 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

Commenti

Viene eseguita una ricerca in un oggetto List<T> a partire dal primo elemento e termina in corrispondenza dell'ultimo elemento.The List<T> is searched forward starting at the first element and ending at the last element.

Questo metodo determina l'uguaglianza utilizzando l'operatore di confronto di uguaglianza predefinito EqualityComparer<T>.Default per T, il tipo di valori nell'elenco.This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.

Questo metodo esegue una ricerca lineare; Pertanto, questo metodo è un'operazione O (n), dove n è Count.This method performs a linear search; therefore, this method is an O(n) operation, where n is Count.

Vedi anche

Si applica a