求解释,
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