zoukankan      html  css  js  c++  java
  • 代码演示C#中string和StingBuilder内存中的区别

    关于 string和StringBuilder的区别参考MSDN。本文用程序演示它们在内存中的区别,及其因此其行为不同。

    //Demo  string memory model

    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {

                string a = "1234";

                string b = a;//a,and b point to the same address

                Console.WriteLine(a);

                Console.WriteLine(b);

                a = "5678";

                Console.WriteLine(a);

                Console.WriteLine(b);//That b's value is not changed means string's value cann't be changed


                Console.ReadKey();
            } 
                
        }
    }

    output:

    1234

    1234

    5678;change a's value,b's value is not changed

    1234

    //Demo StringBuilder's memory model

    namespace ConsoleApplication3
    {
        class Program
        {
            static void Main(string[] args)
            {
      
                StringBuilder a = new StringBuilder("1234");
                StringBuilder b = new StringBuilder();
                b = a;
                a.Clear();
                a.Append("5678");
                Console.WriteLine(a);
                Console.WriteLine(b);
                Console.ReadKey();
            }

            
        }
    }

    output:

    5678

    5678

  • 相关阅读:
    RPA-UiPath视频教程2
    skywalking链路监控
    RPA-UiPath视频教程1
    Redis基础与性能调优
    tomcat调优
    DDos、CC攻击与防御
    UiPath官方视频Level2
    UiPath直播课程
    UiPath手把手教程
    【0】python核心编程,第二章
  • 原文地址:https://www.cnblogs.com/rr163/p/3977388.html
Copyright © 2011-2022 走看看