我是 C# 新手,这是我的问题
class myClass
{
int start;
int end;
.......
}
class program
{
public void main()
{
myClass[] a= new myClass[10];
for (int i = 1; i < a.length; i++)
{
myClass b = new myClass();
a[i] = b;
a[i].start = 1;
... (keep populating)
...
}
console.writeline(a[1].start) // NO PROBLEM WITH THIS LINE, THE VALUE WAS OUTPUTED
subMethod(a);
}
public void subMethod(myClass[] a)
{
console.write(a[1].start); // NO PROBLEM WITH THIS LINE, OUTPUT NORMALLY
for (int i = 1; i < a.length, i++)
{
int h = a[i].start; ????? OBJECT NOT INSTANTIATED
}
}
}
错误如上所示,我很难理解。任何人都可以帮助我。提前致谢
最佳答案
问题似乎出在您尚未发布的代码中。
myClass[] a= new myClass[10];
// (populate this array)
我不知道你在那里写了什么,但它显然不起作用。应该是这样的:
myClass[] a = new myClass[10];
for (int i = 0; i < a.Length; i++)
{
a[i] = new myClass();
}
- 您发布的代码无法编译。请复制并粘贴实际代码 - 不要尝试凭内存编写。
- 您应该注意到数组中的第一个索引是 0,而不是 1。
- 我还建议您阅读 Microsoft naming guidelines ,例如类名应该是 Pascal 大小写。
关于c# - 菜鸟C#问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3604764/