public void Test(object a,object b){
object temp=a;
a=b;b=temp;
}
string str1="aa";
string str2="bb";
Test(str1,str2)
问str1和str2的值
MyClass myClass1;
MyClass myClass2=new MyClass();
MyClass myClass3=new MyClass();
myClass1=myClass2;myClass1=100;myClass2=200;myClass3=100;
bool equ1=myClass1==myClass2;
bool equ2=myClass1==myClass3;
问equ1和equ2是false还是true 
帮忙一下,小弟刚学。
请问下这两个题目的答案是什么。

解决方案 »

  1.   

    没有变化,交换public void Swap<T>(ref T x, ref T y) {} 
      

  2.   

    class 引用类型
    同一个对象
      

  3.   

    第一题,不变,因为string是特殊class(性质类似于struct)第二题,不知是哪位半瓶子醋出的题
    myClass1=100;myClass2=200;myClass3=100;鬼才知道这是伪代码,还是隐式类型转换!
      

  4.   


    错了,第一题让给搅进去了,和class还是struct没关系,要改str1和str2的值(或改引用的对象),必须使用ref
      

  5.   


    还是有些不明白。
    我也知道ref 传值。
      

  6.   

    void f1(int x){x=1;}void f2(ref int y){y=1;}使用f1和f2的效果是:
    int x=0,y=0;
    f1(x); //执行后,x的值还是0,函数中的代码不会改变做为参数的x的值
    f2(ref y);//执行后y的值是1,函数中的代码可以改变做为参数y的值