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

Definição

Remove a primeira ocorrência de um objeto específico do Collection<T>.

public bool Remove (T item);

Parâmetros

item
T

O objeto a remover do Collection<T>. O valor pode ser null para tipos de referência.

Retornos

true se item for removido com êxito; caso contrário, false. Esse método também retornará false se item não tiver sido encontrado no Collection<T> original.

Implementações

Exemplos

O exemplo de código a seguir demonstra muitas das propriedades e métodos de Collection<T>. O exemplo de código cria uma coleção de cadeias de caracteres, usa o Add método para adicionar várias cadeias de caracteres, exibe o Counte lista as cadeias de caracteres. O exemplo usa o IndexOf método para localizar o índice de uma cadeia de caracteres e o Contains método para determinar se uma cadeia de caracteres está na coleção. O exemplo insere uma cadeia de caracteres usando o Insert método e recupera e define cadeias de caracteres usando a propriedade padrão Item[] (o indexador em C#). O exemplo remove cadeias de caracteres por identidade de cadeia de caracteres usando o Remove método e por índice usando o RemoveAt método . Por fim, o Clear método é usado para limpar todas as cadeias de caracteres da coleção.

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
 */

Comentários

Esse método determina a igualdade usando o comparador EqualityComparer<T>.Default de igualdade padrão para T, o tipo de valores na lista.

Esse método executa uma pesquisa linear; portanto, o tempo médio de execução é proporcional a Count. Ou seja, esse método é uma operação O(n), em n que é Count.

Notas aos Herdeiros

Classes derivadas podem substituir RemoveItem(Int32) para alterar o comportamento desse método.

Aplica-se a

Confira também