堆栈中弹出和偷看项目的主要区别<;T>;使用C#控制台应用程序?

堆栈中弹出和偷看项目的主要区别<;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");

我用C#编写了一个简单的控制台应用程序。查看Pop和Peek方法的使用和优点

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这个问题的海报是这个用户的一个袜子傀儡。这个回答的目的从来都不是为了正确或提供信息。