字符串的不可變性:
1.當(dāng)給一個(gè)字符串重新賦值時(shí),老值并沒(méi)有被銷(xiāo)毀,而是重新開(kāi)辟一塊空間儲(chǔ)存新值;當(dāng)程序結(jié)束后,GC垃圾處理會(huì)掃描整個(gè)內(nèi)存,如果發(fā)現(xiàn)有的空間沒(méi)有被指向,則立即把它銷(xiāo)毀;
2.我們可以將字符串看做是char類(lèi)型的一個(gè)只讀數(shù)組;所以可以通過(guò)下標(biāo)去訪問(wèn)字符串中的某一個(gè)字符;
字符串的方法:
string s="abcdefg";
string s1="ABCDEFG";
1.s.ToCharArray();//將一個(gè)字符串轉(zhuǎn)換為一個(gè)字符數(shù)組;需要聲明一個(gè)char類(lèi)型的數(shù)組接收;
2.new string(char[]chs);//可以將一個(gè)字符數(shù)組轉(zhuǎn)換成字符串;
3.Length:獲取當(dāng)前字符串中字符的個(gè)數(shù);
4.s.ToUpper();//將字符串轉(zhuǎn)換成大寫(xiě);
5.s.ToLower();//將字符串轉(zhuǎn)換成小寫(xiě);
6.s.Equals(s1,stringComparison.OrdinalIgnoreCase);//比較兩個(gè)字符串,可以忽略大小寫(xiě);(比較了s與s1,并且忽略了大小寫(xiě))
7.s.Split();//切割字符串;返回一個(gè)字符串類(lèi)型的數(shù)組,其中第一個(gè)參數(shù)為一個(gè)char或string類(lèi)型的數(shù)組,該數(shù)組中的內(nèi)容為要切割的內(nèi)容;第二個(gè)參數(shù)可以是:StringSplitOptions.RemoveEmptyEntries,作用是移除切割后留下來(lái)的空格;
8.s.Contains();// 參數(shù)為一個(gè)字符串,判斷s字符串中是否包含參數(shù)中的字符串;
9.s.Replace();//返回一個(gè)string類(lèi)型值,第一個(gè)參數(shù)為替換前的字符串,第二個(gè)參數(shù)為替換后的字符串,這個(gè)方法的作用是替換字符串;
10.s.Substring();//截取字符串,第一個(gè)參數(shù)是從字符串的第幾個(gè)元素開(kāi)始截取,第二個(gè)參數(shù)是截取的字符串長(zhǎng)度;
11.s.StartsWith();//參數(shù)為字符串,判斷是不是以參數(shù)中的字符串作為開(kāi)始;
12.s.EndsWith();//參數(shù)為字符串,判斷是不是以參數(shù)中的字符串作為結(jié)束;
13.IndexOf():判斷某個(gè)字符串在字符串中第一次出現(xiàn)的位置,如果沒(méi)有返回-1、值類(lèi)型和引用類(lèi)型在內(nèi)存上存儲(chǔ)的地方不一樣;
14.LastIndexOf():判斷某個(gè)字符串在字符串中最后一次出現(xiàn)的位置,如果沒(méi)有同樣返回-1;
15.s.Trim();//去掉字符串里前后的空格;
16.TrimStart():去掉字符串中前面的空格;
17.TrimEnd():去掉字符串中結(jié)尾的空格;
18.string.IsNullOrEmpty(s);//判斷s字符串是否為空或null;
19.string.Join():將數(shù)組按照指定的字符串連接,返回一個(gè)字符串;