c#值类型和引用类型

1:值类型继承自system.valueType,引用类型继承自system.objectType.

值类型:

存储在栈内存中。

包括整数、浮点数、字符、布尔值和结构体等。

复制时会创建一个完全独立的副本。

引用类型:

存储在堆内存中,而变量本身存储在栈内存中,指向堆内存中的对象。

包括类、接口、委托和数组等。

复制时只是复制了引用,即指向同一对象的多个引用变量会共享相同的对象。

2:值传递是会创建一个新的副本,即在方法中修改了传递过来的变量,原来定义的变量值不会发生改变

3.引用传递,修改了传递过来的变量,原来的变量的值也会发生改变,因为引用传递指向同一个内存地址。下面以class 引用类型举例

4.字符串 (string) c#中字符串比较特殊,它是引用类型,但作为参数传递时,会创建一份新的副本,修改变量时,原来的值不会发生改变

相关推荐
烈焰猩猩2 小时前
【无标题】
c#
njsgcs2 小时前
制作solidworks插件 装配体导出展开耗时分析
开发语言·c#·solidworks
njsgcs2 小时前
c# solidworks 标注攻牙
开发语言·c#·solidworks
吴可可1234 小时前
点在线上判定与多段线分割
算法·c#
吴可可1234 小时前
圆弧多段线离散化采样密度优化
算法·c#
雪豹阿伟7 小时前
4.C# —— 循环语句、break、continue
c#·上位机
两千次7 小时前
webpost
c#
思麟呀8 小时前
在C++基础上理解Csharp-2
开发语言·jvm·c++·c#
吴可可12310 小时前
用Bulge保持多段线圆弧连续性
算法·c#
qq_431280701 天前
上位与基恩士PLC通讯工作记录
c#