当前位置:编程学习 > C#/ASP.NET >>

求解释,

 class Person
    {
        public int Age { get; set; }
    }
            int i1 = 20;
            int i2 = i1;
            i1++;
            Console.WriteLine(i2);

            Person p1 = new Person();
            p1.Age = 20;
            Person p2 = p1;
            p1.Age++;
            Console.WriteLine(p2.Age); --------------------编程问答-------------------- 值类型和引用类型的区别。
int是值类型,数据真的保存在变量i1和i2中,因此int i2 = i1;后i1和i2各有自己的copy, i1++不会影响i2.

Person是引用类型,p2 = p1;后,p1和p2指向用一个对象。因此p1.Age++使得对象内部的Age加了1,不论通过p1还是p2访问,都是加1后的结果。 --------------------编程问答-------------------- 具体参考msdn:

Value and Reference Types

http://msdn.microsoft.com/en-us/library/4d43ts61(v=vs.90).aspx
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,