c#值类型和引用类型

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

值类型:

存储在栈内存中。

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

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

引用类型:

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

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

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

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

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

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

相关推荐
Kookoos6 小时前
ABP vNext + EF Core 实战性能调优指南
数据库·后端·c#·.net·.netcore
FuckPatience6 小时前
关于C#项目中 服务层使用接口的问题
java·开发语言·c#
CodeCraft Studio7 小时前
国产Excel处理控件Spire.XLS系列教程:C# 将Excel文件转换为Markdown格式
c#·excel
ᥬ 小月亮8 小时前
Uniapp编写微信小程序,使用canvas进行绘图
微信小程序·uni-app·c#
钢铁男儿10 小时前
C# 方法(值参数和引用参数)
java·前端·c#
一个会的不多的人11 小时前
C# NX二次开发:宏录制实战讲解(第一讲)
开发语言·c#
Scholar61812 小时前
序列化和反序列化
c#
罗迪尼亚的熔岩12 小时前
C# 的异步任务中, 如何暂停, 继续,停止任务
开发语言·c#
Som3B0dy12 小时前
2025年北京市职工职业技能大赛第六届信息通信行业网络安全技能大赛初赛-wp
开发语言·web安全·c#
bicijinlian15 小时前
C#黑魔法:鸭子类型(Duck Typing)
c#·鸭子类型·duck typing