C# 堆栈 - Count 属性

C# 堆栈的 Count() 属性用于计算堆栈中可用元素的数量。

如果您认为 count 是堆栈的容量,那您就错了。count 并非堆栈的容量。count 是堆栈中实际存在的元素数量,而 capacity 是堆栈可以存储的元素数量。

capacity 始终大于或等于 count。如果在添加元素时计数超过容量,容量将自动增加。

语法

以下是 C# 堆栈 Count() 属性的语法 -

public virtual int Count {get;}

参数

此属性不接受任何参数。

返回值

此属性返回堆栈包含的元素数量。

示例 1:计算堆栈中的元素数量

以下是 Count 属性的基本示例,演示如何使用它来获取元素数量 -

    
using System;
using System.Collections;
public class Example {		
   public static void Main(string[] args) {
      Stack myStack = new Stack();
      
      // 将元素插入到 Stack 中
      myStack.Push(1);
      myStack.Push(2);
      myStack.Push(3);
      myStack.Push(4);
      
      // 打印堆栈元素
      Console.Write("My Stack: ");
      foreach (var item in myStack) {
         Console.Write(item + " ");
      }
      
      //统计元素数量
      int count = myStack.Count;
      Console.Write("Number of elements: "+ count);
   }
}

输出

以下是输出 -

My Stack: 4 3 2 1 
Number of elements: 4

示例 2:计算堆栈中的字符数

让我们看另一个使用 Count 属性的示例,以显示此堆栈包含的字符数 -

using System;
using System.Collections.Generic;

public class Example {		
  public static void Main(string[] args) {
    Stack<char> myStack = new Stack<char>();
    
    // 将元素插入到 Stack 中
    myStack.Push('a');
    myStack.Push('b');
    myStack.Push('c');
    myStack.Push('d');
    
    // 打印堆栈元素
    Console.Write("My Stack: ");
    foreach (var item in myStack) {
        Console.Write(item + " ");
    }
    
    // 计算元素数量
    int count = myStack.Count;
    Console.Write("Number of characters: " + count);
  }
}

输出

以下是输出 -

My Stack: d c b a 
Number of characters: 4

示例 3:移除前后计数

在此示例中,我们将显示堆栈中元素移除前后的计数 -

using System;
using System.Collections;

public class Example {		
   public static void Main(string[] args) {
      Stack myStack = new Stack();
      
      // 将元素插入到 Stack 中
      myStack.Push('a');
      myStack.Push('b');
      myStack.Push('c');
      myStack.Push('d');
      
      // 计算元素数量
      int count = myStack.Count;
      Console.Write("Count Before Poping: " + count);
      
      // 从顶部删除一个元素
      myStack.Pop();
      
      // 弹出后计数
      Console.Write("Count After Poping: " + myStack.Count);
   }
}

输出

以下是输出 -

Count Before Poping: 4
Count After Poping: 3

csharp_stack.html