程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C# 字符串的不可變性

C# 字符串的不可變性

編輯:關於C#
 

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();         } 控制台輸出結果:C  字符串的不可變性 - Complaint Free Wolrd - Complaint Free Wolrd
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved