Hashtable.Clear 方法

Hashtable 中移除所有元素。

**命名空间:**System.Collections
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Overridable Sub Clear
用法
Dim instance As Hashtable

instance.Clear
public virtual void Clear ()
public:
virtual void Clear ()
public void Clear ()
public function Clear ()

异常

异常类型 条件

NotSupportedException

Hashtable 为只读。

备注

Count 被设置为零,并且对来自该集合元素的其他对象的引用也被释放。容量保持不变。

此方法的运算复杂度为 O(n),其中 n 是 Count

示例

下面的示例说明如何清除 Hashtable 的值。

Imports System
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", "jumped")

        ' 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)

    End Sub 'Main


    Public Shared Sub PrintKeysAndValues(myHT As Hashtable)
        Console.WriteLine(vbTab + "-KEY-" + vbTab + "-VALUE-")
        Dim de As DictionaryEntry
        For Each de In  myHT
            Console.WriteLine(vbTab + "{0}:" + vbTab + "{1}", de.Key, de.Value)
        Next de
        Console.WriteLine()
    End Sub 'PrintKeysAndValues

End Class 'SamplesHashtable 


' This code produces the following output.
' 
' Initially,
'    Count    : 5
'    Values:
'         -KEY-   -VALUE-
'         two:    quick
'         three:  brown
'         four:   fox
'         five:   jumped
'         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.
      Hashtable myHT = new Hashtable();
      myHT.Add( "one", "The" );
      myHT.Add( "two", "quick" );
      myHT.Add( "three", "brown" );
      myHT.Add( "four", "fox" );
      myHT.Add( "five", "jumped" );

      // 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 );
   }


   public static void PrintKeysAndValues( Hashtable myHT )  {
      Console.WriteLine( "\t-KEY-\t-VALUE-" );
      foreach ( DictionaryEntry de in myHT )
         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:   jumped
        one:    The

After Clear,
   Count    : 0
   Values:
        -KEY-   -VALUE-

*/ 
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", "jumped" );
   
   // 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:   jumped
         one:    The

 After Clear,
    Count    : 0
    Values:
         -KEY-   -VALUE-

 */
import System.*;
import System.Collections.*;

public class SamplesHashtable
{
    public static void main(String[] args)
    {
        // Creates and initializes a new Hashtable.
        Hashtable myHT = new Hashtable();

        myHT.Add("one", "The");
        myHT.Add("two", "quick");
        myHT.Add("three", "brown");
        myHT.Add("four", "fox");
        myHT.Add("five", "jumped");

        // Displays the count and values of the Hashtable.
        Console.WriteLine("Initially,");
        Console.WriteLine("   Count    : {0}", 
            System.Convert.ToString(myHT.get_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}", 
            System.Convert.ToString(myHT.get_Count()));
        Console.WriteLine("   Values:");
        PrintKeysAndValues(myHT);
    } //main

    public static void PrintKeysAndValues(Hashtable myHT)
    {
        Console.WriteLine("\t-KEY-\t-VALUE-");
        IEnumerator myEnumerator = myHT.GetEnumerator();

        while (myEnumerator.MoveNext()) {
            DictionaryEntry de = (DictionaryEntry)myEnumerator.get_Current();
            Console.WriteLine("\t{0}:\t{1}", de.get_Key(), de.get_Value());
        }
        Console.WriteLine();
    } //PrintKeysAndValues
} //SamplesHashtable 

/* 
 This code produces the following output.
 
 Initially,
    Count    : 5
    Values:
         -KEY-   -VALUE-
         two:    quick
         three:  brown
         four:   fox
         five:   jumped
         one:    The

 After Clear,
    Count    : 0
    Values:
         -KEY-   -VALUE-
 */
import System
import System.Collections
import Microsoft.VisualBasic

// Creates and initializes a new Hashtable.
var myHT : Hashtable = new Hashtable()
myHT.Add("one", "The")
myHT.Add("two", "quick")
myHT.Add("three", "brown")
myHT.Add("four", "fox")
myHT.Add("five", "jumped")

// 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)
    
function PrintKeysAndValues(myList : Hashtable){
    var myEnumerator : IDictionaryEnumerator = myList.GetEnumerator()
    Console.WriteLine("\t-KEY-\t-VALUE-")
    while(myEnumerator.MoveNext())
        Console.WriteLine("\t{0}:\t{1}", myEnumerator.Key, myEnumerator.Value)
    Console.WriteLine()
}

// This code produces the following output.
// 
// Initially,
//    Count    : 5
//    Values:
//     -KEY-    -VALUE-
//     five:    jumped
//     three:   brown
//     four:    fox
//     two:     quick
//     one:     The
// 
// After Clear,
//    Count    : 0
//    Values:
//     -KEY-    -VALUE- 

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

Hashtable 类
Hashtable 成员
System.Collections 命名空间
IDictionary.Clear