小编use*_*626的帖子

NullReferenceExceptionUnhandled

我正在编写一个二十一点程序,但我的问题是创建一个具有其他对象列表的对象时的解决方案,但是当我首先创建对象时,列表为空.我想这就是我收到这个错误的原因.下面是我的代码,我将播放器初始化为在播放器的构造函数中有一个手的实例,但是当我调用方法playerHand.Hit(card)时,我得到"对象引用未设置为对象的实例"错误消息;

public class Player
{
    private string name;
    public Hand playerHand;

    public Player()
    { }

    public Player(string name)
    {
        this.Name = name;
        this.playerHand = new Hand();
    }

    public string Name
    {
        get { return name; }
        set { name = value; }
    }

    public void TakeCard(Card card) 
    { playerHand.Hit(card); }`
Run Code Online (Sandbox Code Playgroud)

`

public class Hand
{
    public List<Card> hand;
    public Hand()
    {
        hand = new List<Card>();
    }
    public int handValue;`

    public void Hit(Card card)
    {
        hand.Add(card);
    }

    public int HandValue()
    { …
Run Code Online (Sandbox Code Playgroud)

c# object-reference nullreferenceexception

0
推荐指数
1
解决办法
50
查看次数

尝试填充列表w/Enum但获取'type'就像'变量'一样

我正在创建一副卡片,并在Enums中使用我的Suits和Values,但是我的语法在尝试填充我的List套牌时没有.另外,Ace可以具有1或11的值,是否有某种方法可以将其合并到我的Enum中,或者我是否需要在执行诸如为二十一点求手之类的事情时编写代码?

public class Deck
{
    private List<Card> cards;
    private Random random = new Random();
    public Deck()
    {
        cards = new List<Card>();
        for (int s = 0; s < 4; s++)
            //for (int v = 0; v < 14; v++)
            foreach(Enum v in Values)
                cards.Add(new Card((Suits)s, (Values)v));
    }
Run Code Online (Sandbox Code Playgroud)

这是我的诉讼和价值的枚举:

public enum Suits
{
    Spades,
    Clubs,
    Diamonds,
    Hearts
}

public enum Values
{
    Ace = 1,
    Two = 2,
    Three = 3,
    Four = 4,
    Five = 5,
    Six = 6,
    Seven …
Run Code Online (Sandbox Code Playgroud)

c# enums types

0
推荐指数
1
解决办法
1369
查看次数