Queue.Clear 方法

Queue 中移除所有对象。

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

语法

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

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

备注

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

容量保持不变。若要重置 Queue 的容量,请调用 TrimToSize。截去空 Queue 会将 Queue 的容量设置为默认容量。

此方法为 O(n) 操作,其中 n 是 Count

示例

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

Imports System
Imports System.Collections
Imports Microsoft.VisualBasic

Public Class SamplesQueue    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new Queue.
        Dim myQ As New Queue()
        myQ.Enqueue("The")
        myQ.Enqueue("quick")
        myQ.Enqueue("brown")
        myQ.Enqueue("fox")
        myQ.Enqueue("jumped")
        
        ' Displays the count and values of the Queue.
        Console.WriteLine("Initially,")
        Console.WriteLine("   Count    : {0}", myQ.Count)
        Console.Write("   Values:")
        PrintValues(myQ)
        
        ' Clears the Queue.
        myQ.Clear()
        
        ' Displays the count and values of the Queue.
        Console.WriteLine("After Clear,")
        Console.WriteLine("   Count    : {0}", myQ.Count)
        Console.Write("   Values:")
        PrintValues(myQ)
    End Sub
    
    Public Shared Sub PrintValues(myQ As Queue)
        Dim myObj As [Object]
        For Each myObj In  myQ
            Console.Write("    {0}", myObj)
        Next myObj
        Console.WriteLine()
    End Sub 'PrintValues

End Class 'SamplesQueue 


' This code produces the following output.
' 
' Initially,
'    Count    : 5
'    Values:    The    quick    brown    fox    jumped
' After Clear,
'    Count    : 0
'    Values:
using System;
using System.Collections;
public class SamplesQueue  {

   public static void Main()  {

      // Creates and initializes a new Queue.
      Queue myQ = new Queue();
      myQ.Enqueue( "The" );
      myQ.Enqueue( "quick" );
      myQ.Enqueue( "brown" );
      myQ.Enqueue( "fox" );
      myQ.Enqueue( "jumped" );

      // Displays the count and values of the Queue.
      Console.WriteLine( "Initially," );
      Console.WriteLine( "   Count    : {0}", myQ.Count );
      Console.Write( "   Values:" );
      PrintValues( myQ );

      // Clears the Queue.
      myQ.Clear();

      // Displays the count and values of the Queue.
      Console.WriteLine( "After Clear," );
      Console.WriteLine( "   Count    : {0}", myQ.Count );
      Console.Write( "   Values:" );
      PrintValues( myQ );

   }

   public static void PrintValues( Queue myQ )  {
      foreach ( Object myObj in myQ )  {
         Console.Write( "    {0}", myObj );
      }
      Console.WriteLine();
   }

}
/* 
This code produces the following output.

Initially,
   Count    : 5
   Values:    The    quick    brown    fox    jumped
After Clear,
   Count    : 0
   Values:

*/ 
using namespace System;
using namespace System::Collections;
void PrintValues( Queue^ myQ );
int main()
{
   
   // Creates and initializes a new Queue.
   Queue^ myQ = gcnew Queue;
   myQ->Enqueue( "The" );
   myQ->Enqueue( "quick" );
   myQ->Enqueue( "brown" );
   myQ->Enqueue( "fox" );
   myQ->Enqueue( "jumped" );
   
   // Displays the count and values of the Queue.
   Console::WriteLine( "Initially," );
   Console::WriteLine( "   Count    : {0}", myQ->Count );
   Console::Write( "   Values:" );
   PrintValues( myQ );
   
   // Clears the Queue.
   myQ->Clear();
   
   // Displays the count and values of the Queue.
   Console::WriteLine( "After Clear," );
   Console::WriteLine( "   Count    : {0}", myQ->Count );
   Console::Write( "   Values:" );
   PrintValues( myQ );
}

void PrintValues( Queue^ myQ )
{
   IEnumerator^ myEnum = myQ->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Object^ myObj = safe_cast<Object^>(myEnum->Current);
      Console::Write( "    {0}", myObj );
   }

   Console::WriteLine();
}

/* 
 This code produces the following output.
 
 Initially,
    Count    : 5
    Values:    The    quick    brown    fox    jumped
 After Clear,
    Count    : 0
    Values:

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

public class SamplesQueue
{
    public static void main(String[] args)
    {
        // Creates and initializes a new Queue.
        Queue myQ =  new Queue();
        myQ.Enqueue("The");
        myQ.Enqueue("quick");
        myQ.Enqueue("brown");
        myQ.Enqueue("fox");
        myQ.Enqueue("jumped");

        // Displays the count and values of the Queue.
        Console.WriteLine("Initially,");
        Console.WriteLine("   Count    : {0}",
            System.Convert.ToString( myQ.get_Count()));
        Console.Write("   Values:");
        PrintValues(myQ);

        // Clears the Queue.
        myQ.Clear();

        // Displays the count and values of the Queue.
        Console.WriteLine("After Clear,");
        Console.WriteLine(
            "   Count    : {0}",System.Convert.ToString(myQ.get_Count()));
        Console.Write("   Values:");
        PrintValues(myQ);
    } //main

    public static void PrintValues(Queue myQ) 
    {
        IEnumerator e = myQ.GetEnumerator();
        while (e.MoveNext()) {
            Object myObj = e.get_Current();
            Console.Write("    {0}", myObj);
        }
        Console.WriteLine();
    } //PrintValues
} //SamplesQueue 

/* 
 This code produces the following output.
 
 Initially,
    Count    : 5
    Values:    The    quick    brown    fox    jumped
 After Clear,
    Count    : 0
    Values:

 */

平台

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

请参见

参考

Queue 类
Queue 成员
System.Collections 命名空间
TrimToSize