Hashtable.Remove(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 Hashtable 中移除包含指定键的元素。
public:
virtual void Remove(System::Object ^ key);
public virtual void Remove (object key);
abstract member Remove : obj -> unit
override this.Remove : obj -> unit
Public Overridable Sub Remove (key As Object)
参数
- key
- Object
要移除的元素的键。
实现
例外
key
为 null
。
示例
以下示例演示如何从 Hashtable中删除元素。
using namespace System;
using namespace System::Collections;
void PrintKeysAndValues( Hashtable^ myHT );
int main()
{
// Creates and initializes a new Hashtable.
Hashtable^ myHT = gcnew Hashtable;
myHT->Add( "1a", "The" );
myHT->Add( "1b", "quick" );
myHT->Add( "1c", "brown" );
myHT->Add( "2a", "fox" );
myHT->Add( "2b", "jumps" );
myHT->Add( "2c", "over" );
myHT->Add( "3a", "the" );
myHT->Add( "3b", "lazy" );
myHT->Add( "3c", "dog" );
// Displays the Hashtable.
Console::WriteLine( "The Hashtable initially contains the following:" );
PrintKeysAndValues( myHT );
// Removes the element with the key "3b".
myHT->Remove( "3b" );
// Displays the current state of the Hashtable.
Console::WriteLine( "After removing \"lazy\":" );
PrintKeysAndValues( myHT );
}
void PrintKeysAndValues( Hashtable^ myHT )
{
IEnumerator^ myEnum = myHT->GetEnumerator();
while ( myEnum->MoveNext() )
{
DictionaryEntry de = *safe_cast<DictionaryEntry ^>(myEnum->Current);
Console::WriteLine( " {0}: {1}", de.Key, de.Value );
}
Console::WriteLine();
}
/*
This code produces the following output.
The Hashtable initially contains the following:
2c: over
3a: the
2b: jumps
3b: lazy
1b: quick
3c: dog
2a: fox
1c: brown
1a: The
After removing "lazy":
2c: over
3a: the
2b: jumps
1b: quick
3c: dog
2a: fox
1c: brown
1a: The
*/
using System;
using System.Collections;
public class SamplesHashtable
{
public static void Main()
{
// Creates and initializes a new Hashtable.
var myHT = new Hashtable();
myHT.Add("1a", "The");
myHT.Add("1b", "quick");
myHT.Add("1c", "brown");
myHT.Add("2a", "fox");
myHT.Add("2b", "jumps");
myHT.Add("2c", "over");
myHT.Add("3a", "the");
myHT.Add("3b", "lazy");
myHT.Add("3c", "dog");
// Displays the Hashtable.
Console.WriteLine("The Hashtable initially contains the following:");
PrintKeysAndValues(myHT);
// Removes the element with the key "3b".
myHT.Remove("3b");
// Displays the current state of the Hashtable.
Console.WriteLine("After removing \"lazy\":");
PrintKeysAndValues(myHT);
}
public static void PrintKeysAndValues(Hashtable myHT)
{
foreach (DictionaryEntry de in myHT)
Console.WriteLine($" {de.Key}: {de.Value}");
Console.WriteLine();
}
}
/*
This code produces the following output.
The Hashtable initially contains the following:
2c: over
3a: the
2b: jumps
3b: lazy
1b: quick
3c: dog
2a: fox
1c: brown
1a: The
After removing "lazy":
2c: over
3a: the
2b: jumps
1b: quick
3c: dog
2a: fox
1c: brown
1a: The
*/
Imports System.Collections
Public Class SamplesHashtable
Public Shared Sub Main()
' Creates and initializes a new Hashtable.
Dim myHT As New Hashtable()
myHT.Add("1a", "The")
myHT.Add("1b", "quick")
myHT.Add("1c", "brown")
myHT.Add("2a", "fox")
myHT.Add("2b", "jumps")
myHT.Add("2c", "over")
myHT.Add("3a", "the")
myHT.Add("3b", "lazy")
myHT.Add("3c", "dog")
' Displays the Hashtable.
Console.WriteLine("The Hashtable initially contains the following:")
PrintKeysAndValues(myHT)
' Removes the element with the key "3b".
myHT.Remove("3b")
' Displays the current state of the Hashtable.
Console.WriteLine("After removing ""lazy"":")
PrintKeysAndValues(myHT)
End Sub
Public Shared Sub PrintKeysAndValues(myHT As Hashtable)
For Each de As DictionaryEntry In myHT
Console.WriteLine($" {de.Key}: {de.Value}")
Next
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
'The Hashtable initially contains the following:
' 1a: The
' 2c: over
' 3c: dog
' 1c: brown
' 2b: jumps
' 3b: lazy
' 1b: quick
' 2a: fox
' 3a: the
'After removing "lazy":
' 1a: The
' 2c: over
' 3c: dog
' 1c: brown
' 2b: jumps
' 1b: quick
' 2a: fox
' 3a: the
注解
Hashtable如果 不包含具有指定键的元素,则 Hashtable 保持不变。 不会引发异常。
此方法是一种 O(1)
操作。