如何正确实例化非null对象? [重复]

问题描述 投票:-3回答:4

这个问题在这里已有答案:

我需要提示用户需要存储在名为“Card”的新对象中的数据,然后需要将这些“Cards”添加到“Collection”中。如何在没有设置为null的情况下正确实例化新对象?

static void Main(string[] args)
        {
            bool isRunning = true;
            CollectionManager currentManager = null;
            Card currentCard = null;
        }

我尝试了CollectionManager currentmanager;,但这会导致未使用的变量错误。此外,我尝试将参数添加为“”或与其数据类型相关,但这并非真正的空。

c# class object instantiation
4个回答
1
投票

您需要使用以下代码行来实例化CollectionManager的新实例,而不是CollectionManager newManager = null

CollectionManager newManager = new CollectionManager(new List<Card>(), new Dictionary<string, List<Card>());

在“1”和大小写“2”的情况下更改此项,并且不会显示您的null异常。


0
投票

初始化对象:

CollectionManager currentManager = new CollectionManager();

CollectionManager newManager = new CollectionManager();

0
投票

如果你需要逐步填充一个类的片段,你可以给它自动属性,并允许它们由谁需要设置。例如,Card可能是:

public class Card
{
    public string CardName { get; set; }
    public string CardDescription { get; set; }
    public decimal CardValue { get; set; }
}

然后你可以声明一个新的Card并在你弄清楚的时候向它添加数据。

var currentCard = new Card();

后来:

currentCard.CardName = Console.ReadLine();


0
投票

我并没有真正遵循那里不同案例陈述背后的逻辑。但从技术上讲,这个问题正在发生

currentManager.CardNameList.Add(currentCard);

确保在对其调用任何操作之前初始化currentManager,如下所示。

currentManager = new CollectionManager();
© www.soinside.com 2019 - 2024. All rights reserved.