4.字串(引用型別)
1)字串的不變性
當你給一個字串重新賦值之後,老值並沒有被銷燬,而是重新開闢一塊記憶體空間儲存新值。比如:string person = “張三”;
person = “王五”;給張三在堆上分配的記憶體空間沒有被銷燬,重新在堆上給王五分配了一塊記憶體空間,並把地址賦給person。
2)當程式結束後,gc(垃圾**器)掃面整個記憶體,如果發現有空間沒有被指向,則立即被銷燬。
3)可以將string型別看做是char型別的只讀陣列。
string s = "abcdefg";
s[0] = b;//錯誤,因為s是隻讀的。
char chs = s.tochararray();
chs [0] = b;
//將字元陣列轉換成字串
s = new string(chs);
//建立一個計時器,記錄程式執行的時間
stopwatch sw = new stopwatch();
sw.start();//計時開始
sw.stop();//計時結束
5.字串的各種方法
1)length :獲得當前字串中字元的個數或陣列中元素的個數。
2)toupper():將字串中的字元轉換成大寫
3)tolower():將字串中的字元轉換成小寫。
3)equals(a ,b):可以忽略字串的大小寫,進行比較。
corse1.equals(corse2); //通過呼叫這個成員函式實現字串比較
//忽略大小寫實現字串的比較
corse2.equals(corse1,stringcomparison.ordinalignorecase);
4).split(new char , stringsplitoptions.removeemptyenter);將不想要的字元放到new char中,實現分割字元,並把空字元移除掉。
5)contain()用於判斷是否包含某些字串
6)replace()將指定字串替換掉
7)substring(1,2)從第1位開始擷取想要的2個字元。
8).indexof()找字串中字元第一次出現的位置。
9).lastindexof()找字元中最後一次出現的位置。
10).trim()同時去掉字串前面和後面的空格
11).trimstart()去掉字串中前面的空格
12).trimend()去掉字串中後面的空格。
13).isnullorempty()判斷是null 還是為empty.
14).join()將給定的字元新增到陣列元素的後面,最後一個不加。
15).startwith()判斷是否以給定的字串或字元開始。
16).endwith()判斷是否以給定的字串或字元結束。
6.stringbuilder()用與字串中大量的賦值或拼接。
注意:詳情見**。
7.//split實現將字串轉換成字串陣列,join實現將字元陣列轉換成字串。
//將 sharp c hello 轉換成hello c sharp
string strsharp = "sharp c hello";
string cshsplit = strsharp.split(new char {},stringsplitoptions.removeemptyentries);
for (int i = 0; i < cshsplit.length/2; i++)
console.writeline();
//for (int i = 0; i < cshsplit.length; i++)
////strsharp = cshsplit.join('|' , );
//在陣列元素間鍵入空格,並轉換成字串。
strsharp = string.join(" " , cshsplit);
console.writeline(strsharp);
C 中利用string庫操作的總結
1.初始化string物件的方式 string s1 s1為空串 string s1 s2 將s1初始化為s2 string s1 將s1初始化為某字串 string s1 n,c 將s1初始化為n個 c 字元 2.string的常用操作 s.empty 判斷s是否為空串,若為空,返回true,否則...
C 操作字串string
1 取字串的前i個字元 1 string str1 str.substring 0,i 2 string str1 str.remove i,str.length i 2 去掉字串的前i個字元 string str1 str.remove 0,i string str1 str.substring ...
c 中string與String的區別
1.string是string的別名而已,string是c 中的類,string是.net framework的類 在c ide中不會顯示藍色 2.如果用string,編譯器會把它編譯成string,所以如果直接用string就可以讓編譯器少做一點點工作 3.如果使用c 建議使用string,比較符...