public Grid (int width, int height, char defaultCharacter) {
for (int n = 0; n <= height; n++) {
List<char> aRow;
for (int i = 0; i <= width; i++) {
aRow.Add(defaultCharacter);
}
this.grid.Add(aRow);
}
}
这是我的一些代码。 当我在Xamarin Studio上运行它时,它在这些行上给出了一个错误说&#34;使用未分配的本地变量&#39; aRow&#39;&#34;:
aRow.Add(defaultCharacter);
this.grid.Add(aRow);
此函数位于名为Grid的类中,有一个变量:
List<List<char>> grid = new List<List<char>>();
有关此变量未分配原因的任何想法?
答案 0 :(得分:0)
您未初始化的变量是aRow
。我认为普通人知道它没有价值。所以为了解决这个问题,你应该给它一个值。
正如您应该已经知道的那样,我们使用=
运算符为变量赋值。因此,您可以像这样实例化List<char>
的新实例:
aRow = new List<char> ();
您可能想在使用之前询问为什么它必须具有值。因为有时变量是null
(没有)。让我们假设如果aRow
的值为null,会发生什么。 aRow.Add
会导致NullReferenceException
因为没有。
如果不为变量赋值,则编译器不知道它是null
还是其他内容。因此,它抱怨。