菜鸟C#问题

Mav*_*ang 1 c#

我是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
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误如上所示,我很难理解.任何人都可以帮助我.提前致谢

Mar*_*ers 11

问题似乎出现在您尚未发布的代码中.

myClass[] a= new myClass[10];
// (populate this array)
Run Code Online (Sandbox Code Playgroud)

我不知道你在那里写了什么,但它显然不起作用.它应该是这样的:

myClass[] a = new myClass[10];
for (int i = 0; i < a.Length; i++)
{
    a[i] = new myClass();
}
Run Code Online (Sandbox Code Playgroud)
  • 您发布的代码无法编译.请复制+粘贴实际代码 - 不要尝试从内存中写入.
  • 您应该注意到数组中的第一个索引是0而不是1.
  • 我还建议你阅读Microsoft命名准则,例如类名应该是Pascal案例.