1、不可變性
String str1="aaaaaaa!";
String str2=str1;
str1="bbbbbbb!";
Console.WriteLine("{0}\n{1}",str1,str2);
控制台輸出結果為:
bbbbbbb!
aaaaaaa!
小注:
1、字符串對象一旦創建,在整個進程的生命周期中是不可變的,無法對其進行加長、縮短、改變等操作。
2、如果創建了對字符串的引用,然後修改原始字符串,則該引用指向的仍然是原始字符串,而不是修改字符串時創建的新對象。
小注:
String可以看成是char的只讀數組。<String>.ToLower與<String>.ToUpper這些函數都不會改變字符串的內容,而是把修改後字符串的值通過函數已、以返回值的形式返回了。
3、修改String的某個字符
如果要對String進行修改,那麼就必須創建一個新的字符串,用<String>. ToCharArray()方法得到字符串的Char數組。對數組進行修改,調用new String(Char [])這個構造函數,來創建Char數組的字符串,一旦字符串被創建,那麼Char數組的修改也不會造成字符串的變化。 EG: static void Main(string[] args) { string s1="hello"; char[] chars = s1.ToCharArray(); chars[0] = 'A'; string s2 = new string(chars); Console.WriteLine("s1="+s1.ToString()); Console.WriteLine("s2="+s2.ToString()); Console.ReadKey(); } 控制台輸出結果: