0

我正在尝试为游戏 Skyrim 的 Nexus Mod Manager (nmm) 制作安装脚本。如果您不熟悉 nmm,您可以编写脚本使 mod 安装变得简单和动态。您可以选择使用 xml 或 c#。我正在做后者。我无法编译以下代码(通过编译我的意思是 nmm 会给我一个错误)。我是 c# 的新手,所以我可能在做一些根本错误的事情。我收到一个错误:“对象引用未设置为对象的实例”。我已经阅读了一些有关此错误的信息,但不明白我做错了什么。

无论如何,这是我的一些代码:

static int maxRaceMods = 100;
static Race[][] raceOption = new Race[maxRaceMods][];
class Race
{
    public string Name { get; set; }
    public string PathMeshes { get; set; }
    public string PathTextures { get; set; }
}
static void GetRaces()
{
    for (int i = 0; i < raceOption.Length; i++)
    {
        raceOption[i] = new Race[1];
        raceOption[i][0].Name = "unknown";
        raceOption[i][0].PathMeshes = "unknown";
        raceOption[i][0].PathTextures = "unknown";
    }
}

当我尝试分配类变量时,我的问题发生了。如果我注释掉 for 循环中的最后三行,代码编译得很好。显然,我计划扩展 GetRaces,但我需要先让它工作。

4

1 回答 1

1

您正在创建一个长度为 1 的 Races 数组,但您仍然必须在数组内创建一个 Race 对象:

    raceOption[i] = new Race[1];
    raceOption[i][0] = new Race();
    raceOption[i][0].Name = "unknown";
于 2012-04-08T07:08:02.323 回答