c#值类型和引用类型

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

值类型:

存储在栈内存中。

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

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

引用类型:

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

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

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

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

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

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

相关推荐
浮生如梦_40 分钟前
C# 窗体工厂类 - 简单工厂模式演示案例
计算机视觉·c#·视觉检测·简单工厂模式
两千次1 小时前
web主从站
windows·c#
lihongli0001 小时前
四连杆机构驱动角与被驱动连杆角度关系
c#
℡枫叶℡1 小时前
C# - 指定友元程序集
开发语言·c#·友元程序集
黑棠会长1 小时前
微服务实战.06 |微服务对话时,你选择打电话还是发邮件?
微服务·云原生·架构·c#
xb11322 小时前
C#串口通信
开发语言·c#
周杰伦fans2 小时前
CAD二次开发中的线程、异步操作与LockDocument
c#
绿浪19843 小时前
C#与C++高效互操作指南
c++·c#
jghhh013 小时前
基于C#的CAN总线BMS上位机开发方案
开发语言·c#
MyBFuture4 小时前
编程实战:相机连接与参数设置指南
windows·c#·visual studio·vision pro·联合编程