首页 > 系统相关 >C# 引用类型赋值指向的是同一块内存

C# 引用类型赋值指向的是同一块内存

时间:2022-12-14 19:33:57浏览次数:59  
标签:Console C# TestA Test new 块内存 class 赋值

原文地址:https://www.cnblogs.com/huvjie/p/15341320.html

首先,属性是引用类型。引用类型之间赋值传递后,他们访问的应该是同一块内存区。

来测试一下:

using System;  
  
namespace ConsoleApp1  
{  
    class Program  
    {  
        static void Main()  
        {  
            A aa = new A();  
  
            aa.aaa();  
  
            Console.ReadKey();  
        }  
    }  
  
    class Test  
    {  
        public int a = 100;  
    }  
  
    class A  
    {  
        private Test TestA { get; set; } = new Test();  
        private B b = new B();  
  
        public void aaa()  
        {  
            Console.WriteLine( "之前:" + TestA.a);  
            this.b.TestB = this.TestA;  
            this.b.TestB.a = 200;  // 通过对象b来更改。  
            Console.WriteLine("之后:" + TestA.a);  
        }  
    }  
  
    class B  
    {  
        public Test TestB { get; set; }  
    }  
}  

输出:

之前:100  
之后:200  

可见,对象b能够访问TestA属性指向的内存Test对象。

标签:Console,C#,TestA,Test,new,块内存,class,赋值
From: https://www.cnblogs.com/zhu4c4/p/16983010.html

相关文章

  • 31-WebAPP服务器TomCat及优化
    Tomcat基础功能Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,Tomcat具有处理HTML静态......
  • React -- 子组件和父组件之间数据及方法的传递
    建立Context.jsimportReactfrom'react';constDocsContext=React.createContext();exportdefaultDocsContext;父组件:importDocsContextfrom'./docsCon......
  • #yyds干货盘点# react笔记之学习之state注意事项
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从......
  • eXosip eXosip_automatic_refresh函数剖析
    函数原型voideXosip_automatic_refresh(structeXosip_t*excontext){eXosip_subscribe_t*js;eXosip_dialog_t*jd;eXosip_reg_t*jr;time_tnow;now=osip_ge......
  • 搭建ogg双向复制时,oracle 19.16向oracle 10.2.0.4 ogg复制时报警OGG-01389、OGG-02246
    文档课题:搭建ogg双向复制时,oracle19.16向oracle10.2.0.4ogg复制时报警OGG-01389、OGG-02246处理记录.源端:IP192.168.133.103数据库oracle11.2.0.464位,实例名:or......
  • 【Python】 try except 还是 if else(EAFP 还是 LBYL 风格)
     结论● 若超过95%的可能不会进入except异常处理中,则使用代码一的样式(EAFP风格)● 否则可以换成用代码二的样式(LBYL风格) 代码一(EAFP风格):try:判断代码excep......
  • PHPstorm配置PHP_CodeSniffer代码检查工具
    目录1.PHPCodeSniffer介绍2.安装PHP_CodeSniffer3.使用PHPStorm设置PHPCS4.测试PHP_CodeSniffer的检测功能参考资料1.PHPCodeSniffer介绍PHP_CodeSniffer对PHP文......
  • Linux 控制CPU资源使用
    限制CPU的方式有以下几种:1、taskset2、cpulimit一、taskset-p,--pid对一个已存在的pid进行操作-c,--cpu-list限定进程到指定的cpu上,可以指定多个,以逗号分隔,......
  • mybatis-plus的通用Service
    mybatis-plus的通用service,实际上进一步封装了CRUD操作,同时方法的命名区分BaseMapper,也就是可以通过继承通用service,就可以使用一些基本的CRUD操作了。如何使用内在......
  • 结合Spring Cloud Bus实现配置动态刷新
    在上一节中我们学习了在SpringCloud微服务系统架构中使用ConfigServer进行本地仓库配置读取和线上环境的远程仓库git配置读取,让我们在多个微服务下也可以进行配置信息的......