• C# 传入引用类型的参数 返回值是否发生变化


    前一段时间做项目是,一YY说如果一个方法的参数是引用类型,那么在这个方法里面所做的所有的修改再方法调用后应该有体现。事实是这样的吗?

    先看code 和运行结果:

    运行结果

    方法SetPersonInfo和SetPersonInfo2虽然都是传递PersonInfo的实例 p,但是SetPersonInfo2是修改实例p的属性Name,SetPersonInfo是修改PersonInfo的实例 p的指向地址。这里的实例p是一个地址,只是这个地址指向一个实例A,SetPersonInfo2是在修改这个实例A,所以后面的输出的name应该是修改后的值,但是方法PersonInfo是重新创建一个实例B,并把p的地址指向B。这里的方法调用都是值传递,值传递的意思 就是在进入方法时把值拷贝一份。

  • 相关阅读:
    线程阻塞工具:LockSupport
    jenkins
    Mysql中MVCC的使用及原理详解
    你知道 hash 的实现吗?为什么要这样实现?
    为什么哈希表的容量一定要是 2的整数次幂?
    同步异步 阻塞 非阻塞
    MFC
    MFC
    MFC
    MFC
  • 原文地址:https://www.cnblogs.com/majiang/p/6132603.html
Copyright © 2020-2023  润新知