Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 4
 Remove Method
Collapse All/Expand All Collapse All
This page is specific to
Microsoft Visual Studio 2010/.NET Framework 4

Other versions are also available for the following:
.NET Framework Class Library
Dictionary<(Of <(TKey, TValue>)>)..::.Remove Method

Removes the value with the specified key from the Dictionary<(Of <(TKey, TValue>)>).

Namespace:  System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)
Visual Basic
Public Function Remove ( _
    key As TKey _
) As Boolean
C#
public bool Remove(
    TKey key
)
Visual C++
public:
virtual bool Remove(
    TKey key
) sealed
F#
abstract Remove : 
        key:'TKey -> bool 
override Remove : 
        key:'TKey -> bool 

Parameters

key
Type: TKey
The key of the element to remove.

Return Value

Type: System..::.Boolean
true if the element is successfully found and removed; otherwise, false. This method returns false if key is not found in the Dictionary<(Of <(TKey, TValue>)>).

Implements

IDictionary<(Of <(TKey, TValue>)>)..::.Remove(TKey)
ExceptionCondition
ArgumentNullException

key is nullNothingnullptra null reference (Nothing in Visual Basic).

If the Dictionary<(Of <(TKey, TValue>)>) does not contain an element with the specified key, the Dictionary<(Of <(TKey, TValue>)>) remains unchanged. No exception is thrown.

This method approaches an O(1) operation.

The following code example shows how to remove a key/value pair from a dictionary using the Remove method.

This code example is part of a larger example provided for the Dictionary<(Of <(TKey, TValue>)>) class.

Visual Basic
' Use the Remove method to remove a key/value pair.
Console.WriteLine(vbLf + "Remove(""doc"")")
openWith.Remove("doc")

If Not openWith.ContainsKey("doc") Then
    Console.WriteLine("Key ""doc"" is not found.")
End If
C#
// Use the Remove method to remove a key/value pair.
Console.WriteLine("\nRemove(\"doc\")");
openWith.Remove("doc");

if (!openWith.ContainsKey("doc"))
{
    Console.WriteLine("Key \"doc\" is not found.");
}
Visual C++
// Use the Remove method to remove a key/value pair.
Console::WriteLine("\nRemove(\"doc\")");
openWith->Remove("doc");

if (!openWith->ContainsKey("doc"))
{
    Console::WriteLine("Key \"doc\" is not found.");
}

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
RE: I need a way to remove selected key/value pairs Edit      David Mulford   |   Edit   |   Show History

@Maineac: you cannot modify a collection while enumerating through it -- it corrupts the enumerator. In any case, you don't need to enumerate through your 'dictionary' collection, just your 'badKeys' collection.

foreach (string badKey in badKeys)
{
dictionary.Remove(badKey)
}

Tags What's this?: Add a tag
Flag as ContentBug
I need a way to remove selected key/value pairs      Maineac   |   Edit   |   Show History
If you use:

foreach ( string key in dictionary.Keys ) {
if( badKey.contains( key ) ) {
dictionary.Remove( key );
}
}

The code will fail with the error "Collection was modified; enumeration operation may not execute". I am searching for a way to do this but haven't found one yet. Any ideas?
Tags What's this?: Add a tag
Flag as ContentBug
Processing
© 2012 Microsoft. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker