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

Definición

Quita la primera aparición de un objeto específico de la interfaz Collection<T>.

C#
public bool Remove (T item);

Parámetros

item
T

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

Devoluciones

Es true si item se quita correctamente; en caso contrario, es false. Este método también devuelve false si no se encontró item en el objeto Collection<T> original.

Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestran muchas de las propiedades y métodos de Collection<T>. En el ejemplo de código se crea una colección de cadenas, se usa el Add método para agregar varias cadenas, se muestran las Countcadenas y se enumeran 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 indexador en C#). En el ejemplo se quitan las cadenas por identidad de cadena mediante el Remove método y mediante el í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

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.

Notas a los desarrolladores de herederos

Las clases derivadas pueden invalidar RemoveItem(Int32) para cambiar el comportamiento de este método.

Se aplica a

Producto Versiones
.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