0

我有从 Map 继承的 StartingMap。这是我正在尝试做的事情:

Map m_map;
List<Map> m_versions;

m_versions.add(new StartingMap(...)); // create null reference exeption

m_map= new StartingMap(...); // no error and load the map perfectly

为什么第一个错误而不是第二个错误?我也在做同样的事情。

4

3 回答 3

6

你必须实例化m_versions,比如

m_versions = new List<Map>();
于 2012-08-14T14:53:54.107 回答
2

您需要初始化 m_versions:

m_versions = new List<Map>();

在您可以使用它并向其添加项目之前。

于 2012-08-14T14:55:30.773 回答
2

在将任何项目添加到集合之前,您需要实例化 List。在第二个示例中,您只是调用了 StartingMap 的构造函数完全不同的东西。

因此,在将任何项目添加到列表之前,您需要:

m_versions = new List<Map>()
于 2012-08-14T14:54:15.207 回答