C#中string和StingBuilder內(nèi)存中的區(qū)別實例分析
本文實例分析了C#中string和StingBuilder內(nèi)存中的區(qū)別,有助于更好的掌握C#程序設(shè)計中string和StingBuilder的用法。分享給大家供大家參考。具體方法如下:
關(guān)于 string和StringBuilder的區(qū)別參考MSDN。本文用程序演示它們在內(nèi)存中的區(qū)別,及其因此其行為不同。
先來看看下面這段代碼:
//示例: string 的內(nèi)存模型 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(); } } }
輸出:
1234
1234
5678;change a's value,b's value is not changed
1234
//示例: StringBuilder 的內(nèi)存模型 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(); } } }
輸出:
5678
5678
希望本文所述對大家的C#程序設(shè)計有所幫助。
相關(guān)文章
C# JavaScriptSerializer序列化時的時間處理詳解
這篇文章主要為大家詳細(xì)介紹了C# JavaScriptSerializer序列化時的時間處理詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08WinForm導(dǎo)出文件為Word、Excel、文本文件的方法
這篇文章主要介紹了WinForm導(dǎo)出文件為Word、Excel、文本文件的方法,本文直接給出實現(xiàn)代碼,代碼中包含相應(yīng)注釋,需要的朋友可以參考下2015-03-03C#如何控制IIS動態(tài)添加刪除網(wǎng)站詳解
這篇文章主要給大家介紹了關(guān)于C#如何控制IIS動態(tài)添加刪除網(wǎng)站的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11詳解C#中使用對象或集合的初始值設(shè)定項初始化的操作
這篇文章主要介紹了詳解C#中使用對象或集合的初始值設(shè)定項初始化的操作,文中分別講了對對象和字典的初始化,需要的朋友可以參考下2016-01-01關(guān)于C#.net winform程序驗證moss的集成身份認(rèn)證實例
因為網(wǎng)站使用的是windows集成認(rèn)證,所以遇到了權(quán)限問題,需要輸入密碼。使操作和用戶體驗非常不方便,研究了好久沒有找到好的方法,最后終于讓我踏破鐵鞋總結(jié)出了下面的方法2013-03-03