Collection<T>.IndexOf(T) Método

Definición

Busca el objeto especificado y devuelve el índice de base cero de la primera aparición en todo el Collection<T>.

C#
public int IndexOf (T item);

Parámetros

item
T

Objeto que se va a buscar en Collection<T>. El valor puede ser null para los tipos de referencia.

Devoluciones

Índice de base cero de la primera aparición de item en la totalidad de Collection<T>, si se encuentra; en caso contrario, -1.

Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestran muchas de las propiedades y métodos de Collection<T>. El ejemplo de código crea una colección de cadenas, usa el Add método para agregar varias cadenas, muestra y Countenumera las cadenas. En el ejemplo se usa el IndexOf método para buscar el índice de una cadena y el Contains método para determinar si una cadena está en la colección. En el ejemplo se inserta una cadena mediante el Insert método y se recuperan y establecen cadenas mediante la propiedad predeterminada Item[] (el indizador en C#). En el ejemplo se quitan las cadenas por identidad de cadena mediante el Remove método y por su índice mediante el RemoveAt método . Por último, el Clear método se usa para borrar todas las cadenas de la colección.

C#
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Demo
{
    public static void Main()
    {
        Collection<string> dinosaurs = new Collection<string>();

        dinosaurs.Add("Psitticosaurus");
        dinosaurs.Add("Caudipteryx");
        dinosaurs.Add("Compsognathus");
        dinosaurs.Add("Muttaburrasaurus");

        Console.WriteLine("{0} dinosaurs:", dinosaurs.Count);
        Display(dinosaurs);

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

        Console.WriteLine("\nContains(\"Caudipteryx\"): {0}",
            dinosaurs.Contains("Caudipteryx"));

        Console.WriteLine("\nInsert(2, \"Nanotyrannus\")");
        dinosaurs.Insert(2, "Nanotyrannus");
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs[2]: {0}", dinosaurs[2]);

        Console.WriteLine("\ndinosaurs[2] = \"Microraptor\"");
        dinosaurs[2] = "Microraptor";
        Display(dinosaurs);

        Console.WriteLine("\nRemove(\"Microraptor\")");
        dinosaurs.Remove("Microraptor");
        Display(dinosaurs);

        Console.WriteLine("\nRemoveAt(0)");
        dinosaurs.RemoveAt(0);
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs.Clear()");
        dinosaurs.Clear();
        Console.WriteLine("Count: {0}", dinosaurs.Count);
    }

    private static void Display(Collection<string> cs)
    {
        Console.WriteLine();
        foreach( string item in cs )
        {
            Console.WriteLine(item);
        }
    }
}

/* This code example produces the following output:

4 dinosaurs:

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

IndexOf("Muttaburrasaurus"): 3

Contains("Caudipteryx"): True

Insert(2, "Nanotyrannus")

Psitticosaurus
Caudipteryx
Nanotyrannus
Compsognathus
Muttaburrasaurus

dinosaurs[2]: Nanotyrannus

dinosaurs[2] = "Microraptor"

Psitticosaurus
Caudipteryx
Microraptor
Compsognathus
Muttaburrasaurus

Remove("Microraptor")

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

RemoveAt(0)

Caudipteryx
Compsognathus
Muttaburrasaurus

dinosaurs.Clear()
Count: 0
 */

Comentarios

Collection<T> Se busca hacia delante comenzando en el primer elemento y finalizando en el último elemento.

Este método determina la igualdad mediante el comparador EqualityComparer<T>.Default de igualdad predeterminado para T, el tipo de valores de la lista.

Este método realiza una búsqueda lineal; por lo tanto, el tiempo medio de ejecución es proporcional a Count. Es decir, este método es una operación O(n), donde n es Count.

Se aplica a

Produto Versións
.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

Consulte también