匿名类型
- 我们创建变量(对象的时候),必须指定类型,其实我们也可以不去指定类型,这个就是匿名类型,我们可以使用var声明一个匿名类型。
- 使用var声明的匿名类型,当初始化的时候,这个变量的类型就被确定下来,并且以后不可以修改。
var var1 = 34;
堆栈
- 值类型(整数,bool struct char 小数)
- 值类型只需要一段单独的内存,用于存储实际的数据,(单独定义的时候放在栈中)
- 引用类型(string 数组 自定义的类,内置的类)
- 引用类型需要两段内存
第一段存储实际的数据,它总是位于堆中
第二段是一个引用,指向数据在堆中的存放位置
Vector vector1;
vector1 = new Vector(1,2);
Vector vector2;
vector2 = new Vector(3, 4);
vector2 = vector1;
vector2.X = 5;
Console.WriteLine(vector1.X);
Console.ReadKey();
这段代码把vector1赋值给vector2,意味着赋值了内存地址,所以vector1和vector2现在是相同内存地址,所以改vector2的x就等于改vector1的x。最终输出的结果是5。