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 祝博友們每天旺,每天發。-_-)