经常看到有些写法是DataSet ds = new DataSet();
而有的就直接定义一个DataSet ds;没有用new,实在搞不懂什么时候要new,什么时候不用new,
做了一个实验,两种写法在程序中都不报错.
高人们,谁能帮我解释解释

解决方案 »

  1.   

    new就是实例化了,不new就是没有实例化
    如果你只是对这个dataset做赋值操作的化,是不需要new实例化的
      

  2.   

    dataset 是一个引用类型。
    DataSet ds;
    ds = ds1; // 赋值
    这个时候其实是将ds指向ds1的内存地址,所以不会报错。
      

  3.   

    多谢两位,在实际应用中我发现一般要fill(ds)的时候必须实例化,一般直接ds = get_aaa()的时候都可以不用,一直很困惑
      

  4.   

    因为fill是向实例填值
    get_aaa是返回新实例