堆栈中弹出和偷看项目的主要区别<;T>;使用C#控制台应用程序?
我用C#编写了一个简单的控制台应用程序。查看Pop和Peek方法的使用和优点堆栈中弹出和偷看项目的主要区别<;T>;使用C#控制台应用程序?,c#,console,stack,C#,Console,Stack,我用C#编写了一个简单的控制台应用程序。查看Pop和Peek方法的使用和优点 Stack<string> movies = new Stack<string>(); movies.Push("Fire & Dew"); movies.Push("Hang Break"); movies.Push("Naughty Monkey"); movies.Push("Sabotage");
Stack<string> movies = new Stack<string>();
movies.Push("Fire & Dew");
movies.Push("Hang Break");
movies.Push("Naughty Monkey");
movies.Push("Sabotage");
Console.WriteLine("All Movies\n");
foreach (string movie in movies)
{
Console.WriteLine(movie);
}
Stack movies=newstack();
电影。推(“火与露”);
电影。推(“挂断”);
电影。推(“顽皮猴子”);
电影。推(“破坏”);
Console.WriteLine(“所有电影”);
foreach(电影中的字符串电影)
{
Console.WriteLine(电影);
}
stack.Pop()
-删除并返回堆栈顶部的对象
stack.Peek()
-返回堆栈顶部的对象,而不删除它
因此,如果您只需要读取堆栈的顶部,您应该使用Peek
如果需要遍历整个堆栈,则应使用
Pop
堆栈称为后进先出集合,您可以从堆栈顶部添加或删除元素。添加称为推送项的元素。
从堆栈中删除元素通常称为弹出项。如何使用堆栈类见代码
在下面的代码中,我声明了Stack。为了简单起见,我用一个包含电影标题的字符串来表示每部电影。
我通过将项单独推到堆栈上,添加了更多的数据。
出于某种奇怪的原因,这样做的方法叫做Push,在执行这行代码之后,有四部电影
在上面
//Sabotage
//Naughty Monkey
//Hang Break
//Fire & Dew
Stack<string> movies = new Stack<string>();
movies.Push("Fire & Dew");
movies.Push("Hang Break");
movies.Push("Naughty Monkey");
movies.Push("Sabotage");
//To display the data use foreach loop
//You will notice that the foreach loop has displayed
//the movies in the reverse order to the order I put them on.
Console.WriteLine("All Movies\n");
foreach (string movie in movies)
{
Console.WriteLine(movie);
}
// To access the top most string which is "Fire & Dew title"
//I can get it by Pop()
//Data will be lost using Pop() but if you do not want to
//lose data use Peek() instead
//try first
string topMovie = movies.Pop();
//try later
//string topMovie = movies.Peek();
Console.WriteLine($"\nTop Movie is:{topMovie}");
Console.WriteLine("\nAll Movies: After popping\n");
foreach (string movie in movies)
{
Console.WriteLine(movie);
}
//蓄意破坏
//顽皮的猴子
//挂断
//火与露
堆栈电影=新堆栈();
电影。推(“火与露”);
电影。推(“挂断”);
电影。推(“顽皮猴子”);
电影。推(“破坏”);
//要显示数据,请使用foreach循环
//您将注意到foreach循环已显示
//电影的顺序和我放的顺序相反。
Console.WriteLine(“所有电影”);
foreach(电影中的字符串电影)
{
Console.WriteLine(电影);
}
//访问最顶端的字符串,即“Fire&Dew title”
//我可以通过Pop()得到它
//使用Pop()将丢失数据,但如果您不想
//丢失数据请改用Peek()
//先试
字符串topMovie=movies.Pop();
//稍后再试
//字符串topMovie=movies.Peek();
Console.WriteLine($“\n顶部电影是:{topMovie}”);
Console.WriteLine(“\n所有电影:弹出后\n”);
foreach(电影中的字符串电影)
{
Console.WriteLine(电影);
}
您是否只想知道Pop和Peek之间的区别?如果你需要阅读并从堆栈中移除,Pop是好的,而Peek将阅读而不从堆栈中移除。这如何回答这个问题?你甚至没有提到Peek
@JimMischel这个问题的海报是这个用户的一个袜子傀儡。这个回答的目的从来都不是为了正确或提供信息。