一、变量类型复习
1、有符号的整型类型
sbyte、short、int、long
2、无符号的整形变量
byte、ushort、uint、ulong
3、浮点数(小数)
float、double、decimal
4、特殊类型
bool、string、char
5、复杂数据类型
数组、枚举(enum)
————————————————————分割线————————————————————
把以上 学过的 变量类型 分成 值类型和引用类型
引用类型: string, 数组, 类
值类型: 除引用类型外的其它类型、结构体
二、值类型和引用类型的区别
1、使用上的区别

概括:
值类型在相互赋值时,把内容拷贝给了对方,它变我不变
引用类型的相互赋值是让两者指向同一个值(内容),它变我也变
2、为什么有上面那种区别
值类型 和 引用类型 存储在的 内存区域 是不同的 存储方式是不同的
所以就造成了 他们在使用上的区别
值类型存储在 栈空间 —— 系统分配,自动回收,小而快
引用类型 存储在 堆空间 —— 手动申请和释放,大而慢


这种情况其实是开了一个“新房”:

三、特殊的引用类型——string

总的来说,string类型的特殊就特殊在其具备值类型的特征,即“它变我不变”。

补充知识点:
可以通过断点调试以及监视窗口来观察string类型赋值内容在内存里的变化(Shift+7在监视变量名前添加“&”符号用来监视其(监视变量)存放的内存地址——如下图的"&str1")

本文复习了C#中的变量类型,包括有符号和无符号整型、浮点数、特殊类型如bool和string,以及复杂数据类型如数组和枚举。值类型在赋值时拷贝内容,而引用类型则共享同一内存地址。值类型存储在栈中,自动管理,而引用类型存储在堆中,需手动管理。string是一个特殊的引用类型,具有值类型的特性,即字符串内容改变时不会影响原对象。
766

被折叠的 条评论
为什么被折叠?



