Class B;B已经是一个new 出来的具体实例的对象。1:Test(B);2:Test(ref B);因为当非值类型作为参数传递的时候,传递的只是对象的引用,也就是说,操作的还是实际对象的内存空间。那这种情况和使用引用参数传递的是对象B的指针应该是相同的。那这两种参数使用方法在传递非值类型对象的时候,是不是一样的效果呢??或者他们之间有什么不同???

解决方案 »

  1.   

    Test(ref B);必须在传递参数前初始化。
      

  2.   

    已经说了,B是一个对象new出来的实例|~~那在这种情况下,是一样的吗??
      

  3.   

    传递的过程是一样的,但是有一点不一样
    如果在方法体内部改写参数:
    Test(B b)
    {}
      

  4.   

    Test(B b)
    {
     b = new B();
    }
    Test(ref B b)
    {
     b = new B();
    }则后者会影响调用者b的状态,前者不会
      

  5.   

    Sunmast(速马|AIR SUPPLY!) thanks。