c#string字符串、string類常用方法及StringBuilder

string字符串

  • string字符串是非常常用的數據類型,它是引用類型,卻又非常特殊
  • 對String的操作都是改變賦值地址而不是改變值操作,如下圖,當對str再次進行賦值時,str會重新指向一個地址,原來地址中的"abc"就會成爲垃圾,會浪費內存空間

在這裏插入圖片描述

  • 字符串中還有一個緩存池
    在這裏插入圖片描述
  • 字符串可以當做字符數組使用,但只能讀不能寫
string str = "abc";
Console.WriteLine(str[0]);//輸出'a' 
//只能讀不能寫
str[0] = 'q'; // ❌ ❌ ❌
  • 字符串可以進行+、+=運算,但-、-=不行
string str = "abc";
str += "a"; 
Console.WriteLine(str);//輸出abca
  • string類中常用的方法
方法名 作用
Contains 返回一個值,該值只是指定的子串是否出現在字符串中
Compare 比較字符串的內容,判斷字符串某些字符是否相等
Remove 返回指定數量字符在當前這個實例起始點在已刪除的指定的位置的新字符串
CopyTo 把從選定的下標開始的特定數量的字符複製到數組的一個全新實例中
Format 格式化包含各種值的字符串和如何格式化每個值的說明符
Concat 把多個字符串實例合併爲一個實例
IndexOf 定位字符串中第一次出現某個給定子字符串或字符的位置
IndexOfAny 定位字符串中第一次出現某個字符或一組字符的位置
Insert 把一個字符串實例插入到另一個字符串實例的指定索引處
Join 合併字符串數組,創建一個新的字符串
LastIndexOf 與IndexOf一樣,但定位最後一次出現的位置
LastIndexOfAny 與IndexOfAny一樣,但定位最後一次出現的位置
PadLeft 該字符串通過在此實例中的字符左側填充空格來達到指定的總長度, 從而實現右對齊
PadRight 該字符串通過在此實例中的字符右側填充空格來達到指定的總長度, 從而實現左對齊
Replace 用另一個字符或子字符串替換字符串中給定的字符或子字符串
Split 在出現給定字符的地方,把字符串拆分爲一個子字符串數組
Substring 在字符串中檢索給定位置的子字符串
ToLower 把字符串轉換爲小寫形式
ToUpper 把字符串轉換爲大寫形式
Trim 刪除首尾的空白
- 各個方法的重載與具體使用方法、示例請查閱msdn文檔(https://docs.microsoft.com/zh-cn/dotnet/api/system.string?view=netframework-4.7.2)

StringBuilder

  • 使用StringBuilder類型不再產生垃圾,但是操作需調用函數,比較麻煩
  • 在System.Text命名空間下,所以使⽤時,需要先引⼊這個命名空間,如果不引入可以直接寫System.Text.StringBuilder strB = new System.Text.StringBuilder();
  • 使⽤時先要new,字符串需要經常修改的時候⽤StringBuilder
StringBuilder strBuilder = new StringBuilder("Hello, ");
strBuilder.Append("world!"); //追加字符串
  • 常用方法
方法名 作用
Append 給當前字符串追加一個字符串
AppendFormat 追加特定格式的字符串
Insert 在當前字符串中插入一個子字符串
Remove 從當前字符串中刪除字符
Replace 在當前字符串中,用某個字符(串)替換另一個字符(串)
ToString 返回強制轉換爲System.String對象的字符串
- 各個方法的重載與具體使用方法、示例請查閱msdn文檔(https://docs.microsoft.com/zh-cn/dotnet/api/system.text.stringbuilder?view=netframework-4.7.2)
發佈了14 篇原創文章 · 獲贊 3 · 訪問量 504
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章