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

c#字符串的特性

編輯:C#入門知識

c#字符串的特性


談到字符串,大家自然覺得簡單,但是總是有一些小的問題隱約出現,下面我就系統的說一下字符串的問題,有說不到日後再予補充。   1,首先String是一個類,string只是String類的一個別名,別名的意思:另一個代號,就是和String一樣使用。   2,string str=“abc”,和char[] cha={'a','b','c'}的不同。大家不要簡單認識一個字符串就是一個字符數組。要理解本質。   就是字符串的不變性,string只是可讀,但不可寫。但字符數組可讀可寫。   可讀:字符串中的str[0]=a  str[1]=b  str[2]=c,字符中的str[0]=a  str[1]=b  str[2]=c,   可寫:字符串裡的元素是不可寫的   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <span style="font-size: 12px; font-family: 宋體;">class Program     {         static void Main(string[] args)         {             char[] cha = { 'a', 'b', 'c' };             Console.WriteLine(cha[0]);             cha[0] = 'b';             Console.WriteLine(cha);               string str = "abc";             Console.WriteLine(str[0]);             // str[0] = 'd';             Console.ReadKey();         } </span> 若str[0]='d';將會報“錯誤 1 無法對屬性或索引器“string.this[int]”賦值 -- 它是只讀的“字符數組可以。     這裡有人提出,str=“abc”;str+=“d”,Console.WriteLine(str);出現abcd;這不是表明字符傳可以更改嗎?可寫嗎?   下面咱們就針對這個問題自習分析一下。       看到這個圖,相比大家大家明白了字符串的不變性。再來個圖證明這個不變性。       3,這裡又一次證明了字符串不可變性,另外提出一個問題,那就是字符串的“暫存池”的概念。   string str=“abc”;string str1=“abc”兩者指的是同一個對象。   但是這僅僅是string str=“abc”;string str1=“abc,而不是char[] cha={'a','b','c'}; string str=new string(cha);           在調試的時候打開監視窗口,輸入*變量,監視變量的地址,兩者是同一地址,證明指向的同一變量。下圖不同地址,自然不同變量。           總結,處理字符串 一定要有接受他的返回值,因為每處理一次,就會產生一個對象。   常常將字符串實例,ToCharArray();然後再調用string的(char[])構造函數。“修改”字符串中的元素。       問題:這裡會讓我們想到值傳遞和引用傳遞的用法。以後再予更新。   4,   string str=null;   str="";   string str1=string.Empty;   string str2="";   string str3=“ ”;//有個空格

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved