string字符串
- string字符串是非常常用的數據類型,它是引用類型,卻又非常特殊
- 對String的操作都是改變賦值地址而不是改變值操作,如下圖,當對str再次進行賦值時,str會重新指向一個地址,原來地址中的"abc"就會成爲垃圾,會浪費內存空間
- 字符串中還有一個緩存池
- 字符串可以當做字符數組使用,但只能讀不能寫
string str = "abc";
Console.WriteLine(str[0]);
str[0] = 'q';
string str = "abc";
str += "a";
Console.WriteLine(str);
方法名 |
作用 |
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)