zoukankan      html  css  js  c++  java
  • 初探String类型

    最近一直纠结着String类型,一直想着这个问题:

    代码
    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace test
    {
    class Program
    {
    static void Main(string[] args)
    {
    string str1 = "aaa";
    string str2 = str1;
    str1
    = "bbb";
    Console.WriteLine(str1);
    Console.WriteLine(str2);
    Console.ReadKey();
    }
    }
    }

    大家先看一下代码。定义了一个str1,再定义一个str2,把str1赋值给str2,为什么修改了str1之后,str2的值不会改变呢?

       一开始,我是认为str1和str2都是指向同一个引用的(事实上确实如此)。但是当我修改了str1的值为bbb之后,str2的值

    竟然没有跟着改变,于是我就想,是不是他们一开始就不是指向同一个地址呢???一开始的str2=str1..是不是只是把str1的

    值赋给str2指向的地址呢?

       于是我上网查了查资料,原来,str1和str2一开始时指向同一个地址单元的,但是当str1的值改变之后,str1就会指向"bbb"

    的内存地址,而不再指向"aaa"的地址了,所以输出str2的时候仍然是aaa。也就是str1="bbb"的时候,是不会修改str1所指向

    的内存地址的值的,只会重新分配内存单元给新的String类型,这个也就是String的特点。

  • 相关阅读:
    upload1
    web2
    自动生成代码,简化开发
    rabbitmq简易安装
    jenkin安装
    mysql 数据插入为问号 ?
    git 基础复习
    git 使用,强制推远程仓库
    Spring 源码解析(持续集成,哈哈)
    ContainerBase.addChild: start: 错误
  • 原文地址:https://www.cnblogs.com/cookies9/p/1744761.html
Copyright © 2011-2022 走看看