Stack.Clear 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 Stack 中移除所有对象。
public:
virtual void Clear();
public virtual void Clear ();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Overridable Sub Clear ()
示例
以下示例演示如何清除 的值 Stack。
using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myCollection );
int main()
{
// Creates and initializes a new Stack.
Stack^ myStack = gcnew Stack;
myStack->Push( "The" );
myStack->Push( "quick" );
myStack->Push( "brown" );
myStack->Push( "fox" );
myStack->Push( "jumps" );
// Displays the count and values of the Stack.
Console::WriteLine( "Initially," );
Console::WriteLine( " Count : {0}", myStack->Count );
Console::Write( " Values:" );
PrintValues( myStack );
// Clears the Stack.
myStack->Clear();
// Displays the count and values of the Stack.
Console::WriteLine( "After Clear," );
Console::WriteLine( " Count : {0}", myStack->Count );
Console::Write( " Values:" );
PrintValues( myStack );
}
void PrintValues( IEnumerable^ myCollection )
{
IEnumerator^ myEnum = myCollection->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ obj = safe_cast<Object^>(myEnum->Current);
Console::Write( " {0}", obj );
}
Console::WriteLine();
}
/*
This code produces the following output.
Initially,
Count : 5
Values: jumps fox brown quick The
After Clear,
Count : 0
Values:
*/
using System;
using System.Collections;
public class SamplesStack {
public static void Main() {
// Creates and initializes a new Stack.
Stack myStack = new Stack();
myStack.Push( "The" );
myStack.Push( "quick" );
myStack.Push( "brown" );
myStack.Push( "fox" );
myStack.Push( "jumps" );
// Displays the count and values of the Stack.
Console.WriteLine( "Initially," );
Console.WriteLine( " Count : {0}", myStack.Count );
Console.Write( " Values:" );
PrintValues( myStack );
// Clears the Stack.
myStack.Clear();
// Displays the count and values of the Stack.
Console.WriteLine( "After Clear," );
Console.WriteLine( " Count : {0}", myStack.Count );
Console.Write( " Values:" );
PrintValues( myStack );
}
public static void PrintValues( IEnumerable myCollection ) {
foreach ( Object obj in myCollection )
Console.Write( " {0}", obj );
Console.WriteLine();
}
}
/*
This code produces the following output.
Initially,
Count : 5
Values: jumps fox brown quick The
After Clear,
Count : 0
Values:
*/
Imports System.Collections
Public Class SamplesStack
Public Shared Sub Main()
' Creates and initializes a new Stack.
Dim myStack As New Stack()
myStack.Push("The")
myStack.Push("quick")
myStack.Push("brown")
myStack.Push("fox")
myStack.Push("jumps")
' Displays the count and values of the Stack.
Console.WriteLine("Initially,")
Console.WriteLine(" Count : {0}", myStack.Count)
Console.Write(" Values:")
PrintValues(myStack)
' Clears the Stack.
myStack.Clear()
' Displays the count and values of the Stack.
Console.WriteLine("After Clear,")
Console.WriteLine(" Count : {0}", myStack.Count)
Console.Write(" Values:")
PrintValues(myStack)
End Sub
Public Shared Sub PrintValues(myCollection As IEnumerable)
Dim obj As [Object]
For Each obj In myCollection
Console.Write(" {0}", obj)
Next obj
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' Initially,
' Count : 5
' Values: jumps fox brown quick The
' After Clear,
' Count : 0
' Values:
注解
Count 将设置为零,同时还会释放集合元素中其他对象的引用。
此方法是一个 O(n)
操作,其中 n
为 Count。