都知道c#的基本类型除了string之外都是值类型,但是为什么呢?因为字符串的大小不确定,更加高效的做法是在运行时动态分配内存,而不是在编译时静态分配.

举个例子:
int i= 42; //声明并初始化i
int copyi = i; //copyi 包含i中的数据的拷贝,i和copyi都包含值42
i++; //i递增不影响copyi,i现在的值是43,copyi仍然是42

假如定义了一个circle类:
circle c = new circle(42);
circle refc = c;

@代表引用
理解值类型和引用类型

相关文章: