DataSet ds = new DataSet();...
DataAdapter.Fill(ds);// 这时,ds 已经被填充上数据了。如果是 ref ds ,或者是 out ds 的话,我就明白 ds 在执行 Fill 方法后可以给 ds 赋上值。
可现在它是直接传入一个 dataset 变量,在方法内部居然能够给外部的变量赋与值。请问这是怎么实现的?请高手解惑。

解决方案 »

  1.   

    void test(Form f)
    {
            f.Text = "sfads";
    }你猜这个函数会怎么样
      

  2.   

    C#中,除了非托管类型(int, byte, long, float ...)和struct,其它对象都是按引用传递的,楼主是学C++的吧。
      

  3.   

    见笑见笑,脑子没拐过弯来。
    我原来想到 
    void Fill(int *i)
    {
    *i += 1;
    }int i = 0;
    Fill(&i);这样才可以不用 out i 或者 ref i的
    没想到 DataSet 是类。类有属性。在 Fill 方法里只是给类加上属性就行了。