我 这样写代码
public void fill(DataTable dt)
{
DataSet ds = new DataSet();
this._Adapter.Fill(ds);
dt = ds.Tables[0];
}请问 为什么 在 调用这个方法的时候没有数据
而 我加了 ref的时候 就有数据了

解决方案 »

  1.   

    看來你基礎還不夠.dt是局域變量,出了這個方法就釋放了.
    加了ref是引用,那麽這個内存空間就會有效則不會釋放.
      

  2.   

    我 知道为什么了再c#里 ,对象都是 默认参数引用的但是 
    在这里
    dt =ds.Tables[0];这里将 dt指向了另外一个地址而不是向楼上兄弟说的释放了可以试一下public void fill(DataTable dt)
    {this._Adapter.Fill(dt);}这样就是有数据的
      

  3.   

    应该是因为dt指向了ds的Tables[0],而函数返回时ds已经释放.