在C#下,有这么行语句:CMap a = new CMap(Job b);那请问在这个new函数里,b是传值进去还是传引用进去的呢?现在的问题是内存反映出来是传值的,要怎么改成传引用呢?谢谢大家啦

解决方案 »

  1.   

    CMap的构造参数b,传递的肯定是引用!如果把Job b换成int b(值类型),那才可能是你说的情况。
      

  2.   

    值类型可使用ref(关键字)变为按引用传递的! 注意: new 是关键字...
      

  3.   

    CMap   a   =   new   CMap(ref Job   b); 
      

  4.   

    CMap       a       =       new       CMap(ref   Job       b);   
      

  5.   

    请问Job是什么类型的,如果是引用类型(如:对象,字符串,数组等),那么CMap a=new CMap(Job b)传得就是地址,如果Job是值类型(如:所有的基本类型,结构体等)那么CMap a=new CMap(Job b)传得就是值类型.