Unknown NullPointerException

本文关键字:NullPointerException Unknown | 更新日期: 2023-09-27 17:55:07

Hy!

我想用c做一个纸牌游戏#调试器总是抛出NullPointerException。但是var卡不是null(它在调试过程中显示了一个值(问题一定出在cards.add((.中

我的代码:

namespace Uno_Logic
{
    class CardStack
    {
        private List<Card> cards;
        public void Cardstack()
        {
            cards = new List<Card>();
        }
        public void fillCardstack ()
        {
            for (Card_Value value = Card_Value.One; value <= Card_Value.DrawTwo; value++)
            {
                for (Card_Colour colour = Card_Colour.Yellow; colour < Card_Colour.Black; colour++)
                {
                    Card card = new Card(colour, value);
                    Card card2 = new Card(colour, value);
                    cards.Add(card); //**here throws the debugger the Exception**
                    cards.Add(card2);
                }
            }
         }
      }
   }

请帮忙!

Unknown NullPointerException

替换:

    public void CardStack()
    {
        cards = new List<Card>();
    }

带有

    public CardStack()
    {
        cards = new List<Card>();
    }

c#中的构造函数没有返回类型

我认为你的方法Cardstack真的应该是一个构造函数:

public CardStack()
{
    cards = new List<Card>();
}

cards变量为空。您还没有初始化它,因为您可能还没有调用Cardstack()方法。顺便说一句,cards = new List<Card>(); 最好在构造函数中。

这不是抛出异常时为null的card变量:这是为null的cards变量。您确定在呼叫fillCardstack()之前先呼叫Cardstack()吗?

我认为您想要为CardStack类声明一个构造函数,并在那里初始化cards
如果是这样,只需在CardStack方法声明之前删除"void",它就会变成一个构造函数:

    public Cardstack() {
        cards = new List<Card>();
    }
相关文章:
  • 没有找到相关文章