แก้ไข

แชร์ผ่าน


Queue.Clear Method

Definition

Removes all objects from the Queue.

public:
 virtual void Clear();
public virtual void Clear ();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Overridable Sub Clear ()

Examples

The following example shows how to clear the values of the Queue.

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( "jumps" );
   
   // 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    jumps
 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( "jumps" );

      // 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    jumps
After Clear,
   Count    : 0
   Values:

*/
Imports System.Collections

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("jumps")
        
        ' 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

End Class


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

Remarks

Count is set to zero, and references to other objects from elements of the collection are also released.

The capacity remains unchanged. To reset the capacity of the Queue, call TrimToSize. Trimming an empty Queue sets the capacity of the Queue to the default capacity.

This method is an O(n) operation, where n is Count.

Applies to

See also