liqi9155159 2023-12-03 16:03 采纳率: 25%
浏览 3

为什么字符串作为引用型变量却没有通过传地址而改变初始值呢?

为什么同样是C#引用类型变量,数组就可以通过传地址的方式在Stringtest函数中完成内容的修改。而字符串就不行?请看下方代码。加入Main中执行。可以发现传入的数组的第一个值被修改成了17,而传入的字符串变量m的的值,却没有因为函数中t的值被修改而发生改变!请问这是为什么呢?

        string m = "abc";
        string n;
        int[] arr={1,2,3,4};
        string Stringtest(string t,int[] intArr)
        {
            intArr[0]=17;
            string k;
            k = t;
            k = "123";
            t="456";
            return k;
        }
        n = Stringtest(m,arr);

  • 写回答

2条回答 默认 最新

  • 真相重于对错 2023-12-03 16:26
    关注

    用stringbulider

    评论

报告相同问题?

问题事件

  • 创建了问题 12月3日

悬赏问题

  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器