c# 引用类型和值类型

本文通过示例对比了值类型与引用类型的内存分配特点。值类型直接在内存中复制数据,而引用类型则通过指针指向同一内存地址的数据。文章详细解释了这两种类型在不同场景下的使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        引用类型只是将指针指向内存中的存储单元, 但值类型是将内存单元复制到自己内存副本中, 也就说引用类型内存中存储值只有一个, 但值类型确实有两个.引用类型主要有:类,数组,索引等.值类型有各种数据,结构,枚举等.

public class vall//------引用类型

{     

        public int a;
        public int b;
}

 

一.

     vall n1=new vall();    // --- 内存给 n1 分配一个地址, 指针指向n1
     n1.a=10;
     n1.b=15;
     vall n2=n1;    //----只是赋值指针, 将指针指向n1

     // --- 两个指针分别同一个内存地址

二.

     vall n1=new vall();   // --- 内存给 n1 分配一个地址, 指针指向n1
     n1.a=10;
     n1.b=15;
     vall n2= new vall();    // --- 内存给 n2  分配一个地址, 指针指向n2

     n2 = n1;   //----指针指向n2 修改为 指针指向n1

     // --- 两个指针分别同一个内存地址

三.

     vall n1=new vall();  // --- 内存给 n1 分配一个地址, 指针指向n1
     n1.a=10;
     n1.b=15;
     vall n2= new vall();   // --- 内存给 n2  分配一个地址, 指针指向n2

     n2.a = n1.a;
     n2.b = n1.b;

    // --- 两个指针分别指向不同 内存地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值