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的特点。

  • 相关阅读:
    一步一步本地化部署mapbox-gl
    快速排序
    合并排序
    冒泡排序
    选择排序
    插入排序
    mapbox-gl象形文字字体glyph生成
    前端html
    Mysql练习
    Mysql语句
  • 原文地址:https://www.cnblogs.com/cookies9/p/1744761.html
Copyright © 2011-2022 走看看