.NET中的字串你瞭解多少?

大黑兔發表於2015-01-04

字串的特性

1.不可變性
       由於字串是不可變的的,每次修改字串,都是建立了一個單獨字串副本(拷貝了一個字串副本)。之所以發生改變只是因為指向了一塊新的地址。
       ps:vs2005  即時視窗  &變數,取地址。。
              vs2010以上  即使視窗  *變數 ,只取堆地址。
2.字串池(只針對字串常量)
      當一個程式中有多個相同的字串常量時,多個變數指向的是記憶體中同一塊字串!這個特性叫字串池。之所以字串,不會造成程式混亂,是因為字串的不可變性。

String的成員方法和屬性

PS:這裡過載方式很多,不一一列舉。

1.Contains(String str)  判斷字串中是否包含,指定字串。

    用法

      string str =”helloworld”;

      str.Contains(“hello”);   //true

2.StartsWith(String str)

          判斷字串物件是否以,指定字串開頭。

3.EndWith(String str)

         判斷字串物件是否以,指定字串結尾。

4.Length 屬性

         獲取字串的長度

5.IndexOf(String str)

         獲取指定字元/字串…..在物件字串中第一次出現的位置。

6.LastIndexOf(String str)

         獲取指定字元/字串….在物件字串中最後一次 出現的位置。

7.SubString(int start)

   SubString(int strat, int length)   從指定位置,擷取字串。

8.ToLower()

        將串轉換成小寫,返回一個新的全小寫的字串。

9.ToUpper()

       將串轉換成大寫,返回一個新的全大寫的字串。

10. Replace(string oldStr,string newStr)

        用新的字串,替換物件字串中老的字串部分。

11.Trim()   去掉物件字串兩端的空格

        TrimStart() 去掉物件字串 開頭的空格

        TrimEnd()  去掉物件字串  結尾的空格

        PS:如果想去掉其他的開頭結尾的其他字元其他的字元,可以採用Trim()的其他過載。

12.Split()     把物件字串,按照指定字元分割成一個字串陣列!

     Split()    的過載同樣很多,

     例如 Split(new char[]{‘|’}, StringSplitOption.RemoveEmptyEntries)// 刪除空資料

String的靜態方法

1.IsNullOrEmpty(string)

       //string.IsNullOrEmpty(str1) 判斷某字串是否為null,或者為空字串。

2.Equals(string,string,StringComparison.OrdianlIgnore)
        忽略大小寫比較兩個字串是否相同。
3.Join(string,string[])
        把一個陣列按照指定字串,拼接成一個字串。

相關文章