亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C# StringBuilder和string

 更新時間:2021年11月06日 17:27:08   作者:小紫蘇  
這篇文章主要介紹了C# StringBuilder和string,文章圍繞StringBuilder和string的相關資料展開內(nèi)容,需要的朋友可以參考一下

1.string是引用類型還是值類型

MSDN官方說string是引用類型;

  • 引用類型:引用分配棧內(nèi)存,引用類型本身的數(shù)據(jù)存儲在堆中;
  • 值類型:在函數(shù)中創(chuàng)建,棧內(nèi)存;類中成員變量堆類型;

從c底層內(nèi)存分析,string本質(zhì)是char*數(shù)組;

char*不開堆,直接“ ”賦值存儲在常量內(nèi)存區(qū);

常量內(nèi)存區(qū)在程序結束后由系統(tǒng)統(tǒng)一釋放;

string賦值和char*一樣,直接存儲在常量內(nèi)存;

因此一個string重新賦值并不是修改引用指向,而是在常量內(nèi)存去重新指向一個新的字符串,這個操作相當于重新創(chuàng)建了實例,性能不好;

2.StringBuilder

StringBuilder相當于char* a = new char[lenth];

開了一塊堆內(nèi)存專門存儲字符串數(shù)據(jù);

StringBuilder在創(chuàng)建對象時,可指定內(nèi)存大小;

StringBuilder mStringBuilder = new StringBuilder("LittlePreilla",30);


當內(nèi)存超出時,StringBuilder會自動將內(nèi)存加倍;

mStringBuilder.Capacity = 10;  //設置內(nèi)存
mStringBuilder.EnsureCapacity(10); //檢查內(nèi)存,大于10不變,小于10改為10

3.StringBuilder使用

1)拼接

mStringBuilder.Append("aaa");
mStringBuilder.AppendFormat("aaa{0:D}",1012);


字符 說明 示例 輸出
C 貨幣 string.Format("{0:C3}", 2) $2.000
D 十進制 string.Format("{0:D3}", 2) 002
E 科學計數(shù)法 string.Format(“{0:e}”,1.2) 1.20E+001
G 常規(guī) string.Format("{0:G}", 2) 2
N 用分號隔開的數(shù)字 string.Format("{0:N}", 250000) 250,000.00
X 十六進制 string.Format("{0:X000}", 12) C
string.Format("{0:000.000}", 12.2) 012.200

2)插入

mStringBuilder.Insert(1,"ddd");  //index下表位置   

3)移除

mStringBuilder.Remove(1,2);  //index下表位置開始,移除幾位

4)替換

mStringBuilder.Replace("aaa","bbb");  
我個人格式化輸出更喜歡用正則表達式,也非常方便;

int a = 10;
string str = $"aaa{10}bbbb";
//結果為 aaa10bbbb

到此這篇關于C# StringBuilderstring的文章就介紹到這了,更多相關 StringBuilderstring內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C#求點集的最小包圍矩形

    C#求點集的最小包圍矩形

    這篇文章主要為大家詳細介紹了C#求點集的最小包圍矩形,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • C#實現(xiàn)XOR密碼(異或密碼)的示例代碼

    C#實現(xiàn)XOR密碼(異或密碼)的示例代碼

    XOR密碼(異或密碼)是一種簡單的加密算法,它使用異或(XOR)操作來對明文和密鑰進行加密和解密,本文為大家介紹了C#實現(xiàn)XOR密碼的相關知識,希望對大家有所幫助
    2024-01-01
  • C#中try...catch的使用與常見面試題分享

    C#中try...catch的使用與常見面試題分享

    這篇文章首先給大家介紹了關于C#中try...catch的語法,而后又給大家分享了關于C#中try...catch最常見的面試題,具有一定的參考借鑒價值,需要的朋友們下面來一起看看吧。
    2017-02-02
  • 區(qū)分WCF與WebService的異同、優(yōu)勢

    區(qū)分WCF與WebService的異同、優(yōu)勢

    這篇文章主要幫助大家區(qū)分WCF與WebService的異同、優(yōu)勢,分為三大方面進行研究學習,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 為何Linq的Distinct實在是不給力

    為何Linq的Distinct實在是不給力

    本篇文章對Linq的Distinct進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 深入理解C#委托delegate的使用

    深入理解C#委托delegate的使用

    本文主要介紹了C#委托delegate的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • DevExpress實現(xiàn)GridControl單元格編輯驗證的方法

    DevExpress實現(xiàn)GridControl單元格編輯驗證的方法

    這篇文章主要介紹了DevExpress實現(xiàn)GridControl單元格編輯驗證的方法,很實用的功能,需要的朋友可以參考下
    2014-08-08
  • C#5.0中的異步編程關鍵字async和await

    C#5.0中的異步編程關鍵字async和await

    這篇文章介紹了C#5.0中的異步編程關鍵字async和await,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 如何在C#中集成Lua腳本

    如何在C#中集成Lua腳本

    這篇文章主要介紹了如何在C#中集成Lua腳本,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C#操作圖片讀取和存儲SQLserver實現(xiàn)代碼

    C#操作圖片讀取和存儲SQLserver實現(xiàn)代碼

    用C#將Image轉換成byte[]并插入數(shù)據(jù)庫/將圖片數(shù)據(jù)從SQLserver中取出來并顯示到pictureBox控件上,接下來將為你詳細介紹下實現(xiàn)步驟,感興趣的你可以參考下
    2013-03-03

最新評論