C# 堆栈 - Peek() 方法

C# 堆栈 Peek() 方法用于返回堆栈顶部的对象,但不将其移除。

此方法与 Pop 方法类似,但 Peek 不会修改堆栈。

语法

以下是 C# 堆栈 Peek() 方法的语法 -

public virtual object? Peek();

参数

此方法不接受任何参数。

返回值

此方法从堆栈顶部返回一个对象。

示例 1:返回堆栈顶部元素

以下是 Peek() 方法返回堆栈顶部元素的基本示例 -

using System;
using System.Collections.Generic;

class Example1 {
   static void Main() {
      Stack<int> numbers = new Stack<int>();
      // 将元素压入堆栈
      numbers.Push(10);
      numbers.Push(20);
      numbers.Push(30);
      
      Console.WriteLine("Peek Element: " + numbers.Peek());
   }
}

输出

以下是输出 -

Peek Element: 30

示例 2:从 Stack<string> 中检索顶部元素

让我们看另一个 Peek() 方法的示例。在这里,我们从 Stack<string> 中检索顶部元素 -

using System;
using System.Collections.Generic;

class Example1 {
   static void Main() {
      Stack<string> stacks = new Stack<string>();
      // 将元素压入堆栈
      stacks.Push("Hello");
      stacks.Push("This");
      stacks.Push("is");
      stacks.Push("tutorialspoint");
      
      Console.WriteLine("Peek Element: " + stacks.Peek());
   }
}

输出

以下是输出 -

Peek Element: tutorialspoint

示例 3:处理空栈场景

以下示例使用 Peek() 方法在栈非空时检索栈顶元素 -

using System;
using System.Collections.Generic;

class Example1 {
   static void Main() {
      Stack<string> stacks = new Stack<string>();
      // 将元素压入堆栈
      stacks.Push("Hello");
      stacks.Push("This");
      stacks.Push("is");
      stacks.Push("tutorialspoint");
      
      if (stacks.Count > 0) {
        Console.WriteLine("Top Element: " + stacks.Peek());
      }      
      else {
        Console.WriteLine("Stack is empty, cannot peek.");
      }
   }
}

输出

以下是输出 -

Top Element: tutorialspoint

csharp_stack.html