Collection<T>.Remove Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Removes the first occurrence of a specific object from the Collection<T>.
Namespace: System.Collections.ObjectModel
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Function Remove ( _
item As T _
) As Boolean
public bool Remove(
T item
)
Parameters
- item
Type: T
The object to remove from the Collection<T>. The value can be nulla null reference (Nothing in Visual Basic) for reference types.
Return Value
Type: System.Boolean
true if item is successfully removed; otherwise, false. This method also returns false if item was not found in the original Collection<T>.
Implements
Remarks
This method determines equality using the default equality comparer EqualityComparer<T>.Default for T, the type of values in the list.
This method performs a linear search; therefore, the average execution time is proportional to Count. That is, this method is an O(n) operation, where n is Count.
Notes to Inheritors
Derived classes can override RemoveItem to change the behavior of this method.
Examples
The following code example demonstrates many of the properties and methods of Collection<T>. The code example creates a collection of strings, uses the Add method to add several strings, displays the Count, and lists the strings. The example uses the IndexOf method to find the index of a string and the Contains method to determine whether a string is in the collection. The example inserts a string using the Insert method and retrieves and sets strings using the default Item property (the indexer in C#). The example removes strings by string identity using the Remove method and by index using the RemoveAt method. Finally, the Clear method is used to clear all strings from the collection.
Imports System.Collections.Generic
Imports System.Collections.ObjectModel
Public Class Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
Dim dinosaurs As New Collection(Of String)
dinosaurs.Add("Psitticosaurus")
dinosaurs.Add("Caudipteryx")
dinosaurs.Add("Compsognathus")
dinosaurs.Add("Muttaburrasaurus")
outputBlock.Text += String.Format("{0} dinosaurs:", dinosaurs.Count) & vbCrLf
Display(outputBlock, dinosaurs)
outputBlock.Text &= vbLf & String.Format("IndexOf(""Muttaburrasaurus"") {0}", _
dinosaurs.IndexOf("Muttaburrasaurus")) & vbCrLf
outputBlock.Text &= vbLf & String.Format("Contains(""Caudipteryx"") {0}", _
dinosaurs.Contains("Caudipteryx")) & vbCrLf
outputBlock.Text += String.Format(vbLf & "Insert(2, ""Nanotyrannus"")") & vbCrLf
dinosaurs.Insert(2, "Nanotyrannus")
Display(outputBlock, dinosaurs)
outputBlock.Text += String.Format(vbLf & "dinosaurs(2): {0}", dinosaurs(2)) & vbCrLf
outputBlock.Text &= vbLf & "dinosaurs(2) = ""Microraptor""" & vbCrLf
dinosaurs(2) = "Microraptor"
Display(outputBlock, dinosaurs)
outputBlock.Text &= vbLf & "Remove(""Microraptor"")" & vbCrLf
dinosaurs.Remove("Microraptor")
Display(outputBlock, dinosaurs)
outputBlock.Text &= vbLf & "RemoveAt(0)" & vbCrLf
dinosaurs.RemoveAt(0)
Display(outputBlock, dinosaurs)
outputBlock.Text &= vbLf & "dinosaurs.Clear()" & vbCrLf
dinosaurs.Clear()
outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) & vbCrLf
End Sub
Private Shared Sub Display(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal cs As Collection(Of String))
outputBlock.Text &= vbCrLf
For Each item As String In cs
outputBlock.Text &= item & vbCrLf
Next item
End Sub
End Class
' 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
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
Collection<string> dinosaurs = new Collection<string>();
dinosaurs.Add("Psitticosaurus");
dinosaurs.Add("Caudipteryx");
dinosaurs.Add("Compsognathus");
dinosaurs.Add("Muttaburrasaurus");
outputBlock.Text += String.Format("{0} dinosaurs:", dinosaurs.Count) + "\n";
Display(outputBlock, dinosaurs);
outputBlock.Text += String.Format("\nIndexOf(\"Muttaburrasaurus\"): {0}",
dinosaurs.IndexOf("Muttaburrasaurus")) + "\n";
outputBlock.Text += String.Format("\nContains(\"Caudipteryx\"): {0}",
dinosaurs.Contains("Caudipteryx")) + "\n";
outputBlock.Text += String.Format("\nInsert(2, \"Nanotyrannus\")") + "\n";
dinosaurs.Insert(2, "Nanotyrannus");
Display(outputBlock, dinosaurs);
outputBlock.Text += String.Format("\ndinosaurs[2]: {0}", dinosaurs[2]) + "\n";
outputBlock.Text += "\ndinosaurs[2] = \"Microraptor\"" + "\n";
dinosaurs[2] = "Microraptor";
Display(outputBlock, dinosaurs);
outputBlock.Text += "\nRemove(\"Microraptor\")" + "\n";
dinosaurs.Remove("Microraptor");
Display(outputBlock, dinosaurs);
outputBlock.Text += "\nRemoveAt(0)" + "\n";
dinosaurs.RemoveAt(0);
Display(outputBlock, dinosaurs);
outputBlock.Text += "\ndinosaurs.Clear()" + "\n";
dinosaurs.Clear();
outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";
}
private static void Display(System.Windows.Controls.TextBlock outputBlock, Collection<string> cs)
{
outputBlock.Text += "\n";
foreach (string item in cs)
{
outputBlock.Text += item + "\n";
}
}
}
/* 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
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.