添加到数组 C#

Adding to an array c#

我有一个大小为 5 的数组 int Stack[]。我想实现一个方法 Push(value),它将 value 推入大批。示例:如果数组为空并且我使用 Push(1),那么现在数组的位置 0 上有一个 1;但是如果数组有 3 个值并且我使用 Push(1),位置 3 将有一个 1(因为数组从 0 开始,数组中总共有 4 个值)。我该怎么做?

为此,您有 List<T>

https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1?view=net-6.0

当然你也可以用数组来做到这一点,但这意味着你必须为每个 Push() 执行创建一个新数组,当你可以使用列表时这是完全没有必要的


public class Stack{
    int items[];
    int top;
    
    public Stack(int size){
       items=new int[size];
       top=0;
    }
   
   public void Push(int val){
         if(!IsFull()){
             items[top++]=val;
         }     
   }
  
   public int Pop(){
      if(!IsEmpty()){
          return items[--top];
      }else{
          //-1 is for invalid op or just you can chech before calling Pop()
          //is stack empty or not
          return -1;

      }
   }

   public bool IsFull()=>top==items.Length;
   public bool IsEmpty()=>top==0;

}