Hashtable.Clear 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 Hashtable 中移除所有元素。
public:
virtual void Clear();
public virtual void Clear ();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Overridable Sub Clear ()
实现
例外
示例
以下示例演示如何清除 的值 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( "one", "The" );
myHT->Add( "two", "quick" );
myHT->Add( "three", "brown" );
myHT->Add( "four", "fox" );
myHT->Add( "five", "jumps" );
// Displays the count and values of the Hashtable.
Console::WriteLine( "Initially," );
Console::WriteLine( " Count : {0}", myHT->Count );
Console::WriteLine( " Values:" );
PrintKeysAndValues( myHT );
// Clears the Hashtable.
myHT->Clear();
// Displays the count and values of the Hashtable.
Console::WriteLine( "After Clear," );
Console::WriteLine( " Count : {0}", myHT->Count );
Console::WriteLine( " Values:" );
PrintKeysAndValues( myHT );
}
void PrintKeysAndValues( Hashtable^ myHT )
{
Console::WriteLine( "\t-KEY-\t-VALUE-" );
IEnumerator^ myEnum = myHT->GetEnumerator();
while ( myEnum->MoveNext() )
{
DictionaryEntry de = *safe_cast<DictionaryEntry ^>(myEnum->Current);
Console::WriteLine( "\t{0}:\t{1}", de.Key, de.Value );
}
Console::WriteLine();
}
/*
This code produces the following output.
Initially,
Count : 5
Values:
-KEY- -VALUE-
two: quick
three: brown
four: fox
five: jumps
one: The
After Clear,
Count : 0
Values:
-KEY- -VALUE-
*/
using System;
using System.Collections;
public class SamplesHashtable
{
public static void Main()
{
// Creates and initializes a new Hashtable.
var myHT = new Hashtable();
myHT.Add("one", "The");
myHT.Add("two", "quick");
myHT.Add("three", "brown");
myHT.Add("four", "fox");
myHT.Add("five", "jumps");
// Displays the count and values of the Hashtable.
Console.WriteLine("Initially,");
Console.WriteLine($" Count : {myHT.Count}");
Console.WriteLine(" Values:");
PrintKeysAndValues(myHT);
// Clears the Hashtable.
myHT.Clear();
// Displays the count and values of the Hashtable.
Console.WriteLine("After Clear,");
Console.WriteLine(" Count : {myHT.Count}");
Console.WriteLine(" Values:" );
PrintKeysAndValues(myHT);
}
public static void PrintKeysAndValues( Hashtable myHT )
{
Console.WriteLine("\t-KEY-\t-VALUE-");
foreach (DictionaryEntry de in myHT)
Console.WriteLine("\t{de.Key}:\t{de.Value}");
Console.WriteLine();
}
}
/*
This code produces the following output.
Initially,
Count : 5
Values:
-KEY- -VALUE-
two: quick
three: brown
four: fox
five: jumps
one: The
After Clear,
Count : 0
Values:
-KEY- -VALUE-
*/
Imports System.Collections
Public Class SamplesHashtable
Public Shared Sub Main()
' Creates and initializes a new Hashtable.
Dim myHT As New Hashtable()
myHT.Add("one", "The")
myHT.Add("two", "quick")
myHT.Add("three", "brown")
myHT.Add("four", "fox")
myHT.Add("five", "jumps")
' Displays the count and values of the Hashtable.
Console.WriteLine("Initially,")
Console.WriteLine($" Count : {myHT.Count}")
Console.WriteLine(" Values:")
PrintKeysAndValues(myHT)
' Clears the Hashtable.
myHT.Clear()
' Displays the count and values of the Hashtable.
Console.WriteLine("After Clear,")
Console.WriteLine($" Count : {myHT.Count}")
Console.WriteLine(" Values:")
PrintKeysAndValues(myHT)
End Sub
Public Shared Sub PrintKeysAndValues(myHT As Hashtable)
Console.WriteLine(vbTab + "-KEY-" + vbTab + "-VALUE-")
For Each de As DictionaryEntry In myHT
Console.WriteLine(vbTab + "{0}:" + vbTab + "{1}", de.Key, de.Value)
Next
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' Initially,
' Count : 5
' Values:
' -KEY- -VALUE-
' two: quick
' five: jumps
' one: The
' three: brown
' four: fox
'
' After Clear,
' Count : 0
' Values:
' -KEY- -VALUE-
'
注解
Count 将设置为零,同时还会释放集合元素中其他对象的引用。 容量保持不变。
此方法是一个 O(n)
操作,其中 n
为 Count。