C#快速入門教程(11)—— 字元和字串型別
字元型別(char)用於單個字元,而字串型別(string)用於處理一個字元序列。在.NET Framework環境中,字元和字串都使用Unicode標準,這樣就可以用效地處理世界各地的語言、文字和符號。
在C#中,字元型別使用char關鍵字定義,對應於System.Char結構型別,字面量應包含在一對英文半形的單引號中,如'A'、'1'、'*'等,唯一需要應用的字元是單引號本身,如果需要定義一個單引號字元,應使用\字元進行轉義,如'\''。
使用字元時,還可以在字元和整數之間進行轉換,而整數值就是字元的編碼;下面的程式碼演示了字元的定義和轉換操作。
static void Main(string[] args)
{
char ch = 'A';
uint code = ch;
//
Console.WriteLine("字元:{0} 程式碼:{1}", ch, code);
}
程式碼執行結果如下圖所示。
需要將數值轉換為字元時,應進行強制轉換,如下面的程式碼。
static void Main(string[] args)
{
uint code = 36;
char ch = (char)code;
//
Console.WriteLine("字元:{0} 程式碼:{1}", ch, code);
}
程式碼執行結果如下圖所示。
字串型別,在C#中使用string關鍵字定義,對應System.String類型別;請注意,字串是引用型別,但是,String型別定義的是不可變字串,也就是說,在記憶體中定義的字串物件是不可修改的,一但有任何的變化,都會重新分配記憶體(即重新分配物件的資料區域)。所以,對於字串的修改等操作效率並不高,此時,可以使用StringBuilder類,在後續的課程中會討論相關應用。
接下來,我們看一下字串的基本應用。
字串內容使用一對英文半形雙引號定義,如"abc",可以包含任何Unicode編碼的字元內容,不過,對於一些特殊符號還需要進行轉義處理,如:
大家可以思考下面程式碼的輸出結果。
static void Main(string[] args)
{
string s = "\'Hello C#\'";
//
Console.WriteLine(s);
}
程式碼執行結果如下圖所示。
實際應用中,如果字串包含了大量的特殊字元,那麼,書寫起來可能比較麻煩,而且容易出錯,此時,可以使用逐字字串,其格式是在雙引號定義的字串前新增一個@符號,如下面的程式碼。
static void Main(string[] args)
{
string s = @"c:\log.txt";
//
Console.WriteLine(s);
}
s字串中定義了一個檔案的路徑,使用逐字字串時,可以簡化路徑分隔符的書寫,很多時候,這是程式碼書寫時很容易出錯的地方。顯示結果如下圖所示。
在逐字字串中,唯一需要轉義的字元是雙引號,如下面的程式碼。
static void Main(string[] args)
{
string s = @"""Hello""";
//
Console.WriteLine(s);
}
程式碼顯示結果如下圖所示。
本課,我們瞭解了字元和字串的基本應用,在需要大量的字串操作時,可以參考StringBuilder類等資源,後續會有相關內容。
CHY軟體小屋原創作品!
相關文章
- C#快速入門教程(22)—— 常用集合型別C#型別
- C#快速入門教程(7)——資料型別概述C#資料型別
- C#快速入門教程(9)——浮點數、Decimal型別和數值型別轉換C#Decimal型別
- C#快速入門教程(21)—— 泛型C#泛型
- C#快速入門教程(10)——布林型別與布林運算C#型別
- C#快速入門教程(20)—— 字串與正規表示式C#字串
- 《C#快速入門教程》目錄C#
- C#快速入門教程(16)—— 介面C#
- C#快速入門教程(6)——方法C#
- c#入門-型別轉換和運算C#型別
- C#快速入門教程(26)—— 繪圖C#繪圖
- C#快速入門教程(8)——整數C#
- C#快速入門教程(15)—— 繼承C#繼承
- javascript快速入門9--引用型別JavaScript型別
- C#快速入門C#
- HealthKit開發快速入門教程之HealthKit的主要型別資料型別
- C#快速入門教程(28)—— ADO.NETC#
- C#快速入門教程(25)—— 日期與時間C#
- C#快速入門教程(30)—— 繼續學習C#
- C#快速入門教程(12)—— if語句結構C#
- C#快速入門教程(18)—— 異常處理C#
- C#快速入門教程(23)—— using語句和IDisposable介面C#
- javascript快速入門8--值,型別與型別轉換JavaScript型別
- C#遊戲開發快速入門教程Unity5.5教程C#遊戲開發Unity
- Go快速入門 07 | 集合型別: array、slice 和 map的使用Go型別
- C#快速入門教程(2)——程式碼與測試C#
- C#快速入門教程(27)—— SQL Server資料庫C#SQLServer資料庫
- C#快速入門教程(13)—— switch語句結構C#
- C#快速入門教程(19)—— 索引器與陣列C#索引陣列
- C#快速入門教程(5)——欄位與屬性C#
- Materialize快速入門教程
- latex快速入門教程
- Python開發的入門教程(二)-List和Tuple型別Python型別
- C++入門教程(5):基本資料型別和變數C++資料型別變數
- Redis入門教程(二)— 基本資料型別Redis資料型別
- C#快速入門教程(1)——物件導向程式設計C#物件程式設計
- C#快速入門教程(4)——類成員的作用域C#
- C#快速入門教程(14)—— 迴圈語句結構C#