- 阅读更多 关于 unity(2)笔记07-C#基础:数据类型,值类型,引用类型,值传递,引用传递,ref,out,拆装箱,string特性,StringBuilder,枚举
av28779788?p=79视频学习笔记 当前为-->第二部分:C#基础 数据类型 数据类型 类型分类 类型归属 内存分配 内存 分配 栈区存放方法(调用时出生,调用结束时销毁);方法中的值类型变量(局部变量);引用类型变量和它的引用,实际数据存放在堆区. 局部变量(值类型/引用类型)存储位置: 值类型:变量本身在栈中,值(数据)在栈中 引用类型:变量本身在栈中,变量的值存储实际数据的内存地址(引用),内存地址(引用)的值即实际数据存在堆中. 二者之间最大的区别 值类型变量有 两个元素 :变量本身,变量的值:数据; 引用类型变量有 三个元素 :变量本身,变量的值:内存地址(引用);内存地址的值:数据 下图显示了方法内部中,局部变量存储在何处(栈区还是堆区): 以下示例区分值类型和引用类型的特点: 以下示例了值传递,按引用传递,值类型使用ref按引用传递,值类型使用out按引用传递参数: tryParse方法(使用out参数的例子) 我们可以用tryParse方法试着将1个字符串转换为数值. 如果成功返回true,且把转换成功的数值传递到out参数中; 如果失败则返回false,此时out参数里值为0 string赋值字符串常量,系统会存到字符串池中: object对象: 注意:以下是 浪费资源的代码示例 ,循环多少次,就会产生多少次字符串常量(后果是垃圾收藏器GC会最终销毁垃圾