如何正确实例化非空对象?

时间:2019-01-21 03:43:01

标签: c# class object instantiation

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

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

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

4 个答案:

答案 0 :(得分:1)

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

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

在大小写“ 1”和大小写“ 2”下更改此设置,并且不会显示空异常。

答案 1 :(得分:0)

初始化您的对象:

CollectionManager currentManager = new CollectionManager();

CollectionManager newManager = new CollectionManager();

答案 2 :(得分: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();

答案 3 :(得分:0)

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

currentManager.CardNameList.Add(currentCard);

在调用currentManager之前,请确保对其进行如下初始化。

currentManager = new CollectionManager();