C# string與StringBuilder

來源:互聯網
上載者:User

System.String   參考型別

基本成員

Length  返回字串的長度。

Contains()  判斷當前字串對象是否包含一個指定的字串對象。

Insert()  用來接收新插入字串資料後的當前的字串的副本。(string的“副本“特點)

Remove()/Replace()  接收一個帶有修改(被刪除或替換的字元)了的字串的副本。

Substring()  返回當前字串的子字串。

ToCharArray()  返回一個表示當前字串的資附數組。

ToUpper()/ToLower()  建立當前字串的大小寫副本。

Format()  格式化一個字串的字面量。

String的相等性運算(==和!=)比較的是字串對象的值,而非比較者所引用的記憶體。

拼接操作:+或靜態System.Concat()方法。

索引器訪問字串:

(1)String str="123456";

for(int i=0;k<str.Length;i++)

Console.WriteLine("Char {0} is {1}",i,str);

(2)System.String中維護者也個System.Char類型的數組--〉

String str="123456";

foreach(char c in str)  Console.WriteLine(c);

 

System.Text.StringBuilder:

StringBuilder提供了對底層緩衝區的直接存取。與System.String一樣,System.Text.Builder提供了用來從對象中追加,格式化,插入和刪除資料的大量成員。

區別

String的功能已經使得他在處理字元類類型上面應經很完美了。但是在建立大量使用文本資料的程式時,它的效率就顯得低了些。原因就是:當優點太優了的時候,從另一方面看時可能也會是缺點(犧牲其它方面)。--〉.NET字串的一個非常重要的事實,字串一旦建立,它的值就將不可再被修改。表面上我們可以給字串變數任意賦新值,但實際上並沒有修改已存在的字串對象的底層緩衝區,而是字串變數(引用型)指向了新的字串對象,原先的字串最終將被記憶體回收掉。字串的拼接,轉換大小寫等於此情況類似,

StringBuilder:解決了String重複開闢空間對資源的浪費。它提供了對底層緩衝區的直接存取。長度是可變的。建立對象的同時可以指定對象所包含的字串的初始個數,預設情況容量16。緩衝區會在初始容量不足時即時的調整大小。

總:在許多情況下,應選擇System.String表示文本,對多數應用程式來說,可以忽略返回一個修改的字元資料的副本的開銷。但是,若建立的是一個文本密集的應用程式(如一個字元處理常式),使用System.Text.StringBuilder的效能要好得多。

 

很不錯的網盤(http://ww618.com/-WangWang618 祝博友們每天旺,每天發。-_-)

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.