呵呵class Element
{
private int i ;
public void addi()
{
i++;
}
}
在这儿,你的i还没有初始化啊
用private int i = 0;试试

解决方案 »

  1.   

    楼上的2个兄弟,谢谢,可是我做了initiallize还是一样而没初始化,是自动初始化为0吧请帮忙调试一下,它会说什么引用错误,谢谢哦
      

  2.   

    把前面两个类的定义放到ConsoleApplication2命名空间里试试
      

  3.   

    创建对象数组时,
    arr = new Element[i]
    只是让arr引用到一个对象数组,并没有对对象数组的每一个元素创建对象。
    正确的做法是:
    arr=new Element[i];
    for (int j=0; j<i; j++)
        arr[j] = new Element();
      

  4.   

    ha,终于明白了,谢谢觉得有点别扭,我记得在C++,是直接 创建了 arr里面的每个元素的吧那现在
    “arr = new Element[i]
    只是让arr引用到一个对象数组,并没有对对象数组的每一个元素创建对象。”这个数组对象存在有什么意义哦望指教,谢谢
      

  5.   

    不要忘了给分哦!!!当然有意义,对一维数组当然看不出来,如果是多维数组呢?首先在C++中,多维数组的维数是固定的,像a[10][10]就是有10*10个元素。
    而在C#中,多维数组的维数可以不相等。如果 arr = new Element[i]这样表示就声明了所有的元素的话,那这样
    classname[][] arr;
    arr = new classname[10];
    是表示什么呢?