嗨,我想按功能清空整个堆栈,而不是一个一个地清空,我想在函数中使用循环,该循环删除/弹出所有您可以看到我的代码的堆栈元素
using System;
using System.Collections;
public class SamplesStack
{
public static void Main()
{
// Creates and initializes a new Stack.
Stack myStack = new Stack();
myStack.Push("Hello");
myStack.Push("World");
myStack.Push("!");
// Displays the properties and values of the Stack.
// Console.WriteLine("myStack");
Console.WriteLine("\tCount: {0}", myStack.Count);
Console.Write("\tValues:");
PrintValues(myStack);
object pt = myStack.Pop();
Console.WriteLine("\tCount: {0}", myStack.Count);
Console.ReadLine();
}
public static void PrintValues(IEnumerable myCollection)
{
foreach (Object obj in myCollection)
Console.Write(" {0}", obj);
Console.WriteLine();
}
public static void emptyStack(Stack empty)
{
what to do here
}
答案 0 :(得分:0)
您有几种选择。这是一对:
myStack.Clear();
(Microsoft Doc)。 while(myStack.Count > 0)
{
myStack.Pop();
}
答案 1 :(得分:0)
这是我的问题的答案,我尝试了不同的事情,所以我通过此功能做到了
public static void PopStack(Stack stObj)
{
foreach (var st in stObj.ToArray())
{
var obj= stObj.Pop();
Console.WriteLine(count);
Console.WriteLine(obj);
}
Console.WriteLine("\tCount: {0}", stObj.Count);
}