比方我有一个数组对象object[] m_object
当我把它当参数在函数中传递时(例如 Transeport(object[] m_object)是引用传递吗?如果不是的话那要怎样才能做到引用传递呢

解决方案 »

  1.   

    不是传引用,但传入的是object地址,这样可以改变object地址指向的内容,但是不可以改变object地址参考一下测试代码//传入的不是引用
    private void test(object[] arrObj)
    {
    arrObj[0]="arrObj[0]可以改变";
    arrObj=new object[]{"arrObj可以改变"};
    }
    //传入引用
    private void test(ref object[] arrObj)
    {
    arrObj[0]="arrObj[0]可以改变";
    arrObj=new object[]{"arrObj可以改变"};
    }
    private void button1_Click(object sender, System.EventArgs e)
    {
    object[] o=new Object[]{"jinjazz"};
    test(o);
    MessageBox.Show(o[0].ToString()); test(ref o);
    MessageBox.Show(o[0].ToString());
    }