Queue.Clear Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Usuwa wszystkie obiekty z obiektu Queue.
public:
virtual void Clear();
public virtual void Clear ();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Overridable Sub Clear ()
Przykłady
W poniższym przykładzie pokazano, jak wyczyścić wartości elementu 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:
Uwagi
Count jest ustawiona na zero, a odwołania do innych obiektów z elementów kolekcji są również zwalniane.
Pojemność pozostaje niezmieniona. Aby zresetować pojemność elementu , wywołaj metodę QueueTrimToSize. Przycinanie pustej Queue pojemności powoduje ustawienie pojemności Queue domyślnej.
Ta metoda jest operacją O(n)
, gdzie n
to Count.