请问这两者什么区别,能举个例子最好了!

解决方案 »

  1.   

    值类型 不加out 或者 ref的话就是copy传递,加上了这两个后可以在方法内部给变量赋值,引用类型的话 始终都是传递引用的。
      

  2.   

    "引用类型的话 始终都是传递引用的。"我问你怎么是传递引用, 
    你给我的答案却是用传递引用给我解释的?? 你给方法传递的参数总有个类型签名吧,如果是 基本类型的签名 那传递的就是值copy,如果是对象类型,传递的就是这个对象的引用, public void MethodA(int i,DateTime d){
    改变i的值,
    改变d的值
    }int ii=10;
    DateTime  dt=new DateTime();
    MethodA(ii,dt);方法调用完毕后,ii的值还是10,
    但是dt的值已经变成你在方法中设定的值了。
      

  3.   

    默认情况下
    值类型传递的是拷贝
    对像传递的是引用下面写了一个简单的不知道你看不看得懂   public class ABC
            {
                public int A;        }        public void  change(ABC a)
            {
                a.A = 20;
            }        public void change(int a)
            {
                a = 20;
            }        private void button2_Click(object sender, EventArgs e)
            {            int a = 10;            ABC bb = new ABC();
                bb.A = 10;            change(a);
                change(bb);            MessageBox.Show(a.ToString());
                MessageBox.Show(bb.A.ToString());          }
      

  4.   

    public partial class Default3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            int a = 9;
            int b = a;
            bool r= object.ReferenceEquals(a,b);
            if (r)
            {
                Response.Write("引用类型!");
            }
            else
            {
                Response.Write("值类型!");
            }        car mycar = new car();
            object obj = mycar;
            bool s = object.ReferenceEquals(mycar,obj);
            if (s)
            {
                Response.Write("引用类型!");
            }
            else
            {
                Response.Write("值类型!");
            }
        }
    }  
    public class car
    {
        public car()
        {    }
    }