C#學習日記08---資料類型 之 字元類型

來源:互聯網
上載者:User
數實值型別 之 字元類型:

電腦處理的資訊中除了數字以外,主要就是字元了,字元包括數字字元、英文字元、運算式符號、等等;C#提供的字元類型按照國際上的公認標準,採用Unicode字元集,一個標準的Unicode字元長度為16位,用它可以表示世界上的很多語言。C# 中給字元變數賦值與C/C++類似:

Char ch = 'H'; 有時候當我們錄入人的姓名的時候也用的 Char 型,比如 之前的日記03當中我就用 char sex;來錄入我的性別,這麼說來一個漢字也是一個字元了??是的,一個漢字佔2個位元組,1個位元組是8位,換算下,一個漢字剛好就16位了,因此算一個字元;所以 char sex = '男' 是合法編譯。

另外,我們還可以直接通過十六進位轉義 或 Unicode標記法給字元變數賦值,例如:

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;    namespace Example  {      class Program      {          static void Main(string[] args)          {              char c = '\x0032';  //\x 是16進位轉義符號 此時的32是16進位下的32              char d = '\u0032';  //\u 下的32代表Unicode的一個編碼              Console.WriteLine("c = {0}\td = {1}",c,d);            }      }  }

運行一下 :

所以 以上的賦值 與 char c = '2' char d = '2'是一樣的;

本著一顆勇於探索的心,我對上面的代碼又進行了一番探索。\u0032表示的是在Unicode下編碼為0032的字元,\x0032表示的是16進位下的0032,對比發現Unicode的編碼就是16進位下的數值,我試著將代碼改為如下:

char c = '\x0033';

char d = '\u0034';

我猜想結果會是 c=3 d=4; 運行結果正是這樣,以上成立。

本著胡思亂想的精神,我又想起了學習C的時候用的ASCII碼值,會不會ASCLII 碼值與Unicode碼值是一樣的呢?我找到了那本C語言教材,查詢到2的ASCII十進位碼值是50不是32,,由於以上的猜想成立32是16進位下的32我把它轉化為10進位是多少呢???(這可就考到我了,當初老師講進位轉換時,我……唉!不說了,“書到用時方恨少啊!” ),不過我們可以用C#寫一個進位轉化的程式來計算下,代碼如下:

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;    namespace Example  {      class Program      {          static void Main(string[] args)          {                            Console.Write("請輸入一個十六進位數:");                string x = Console.ReadLine();              Console.WriteLine("十六進位 {0} 的十進位數表示為:{1}", x, Convert.ToInt32(x, 16)); // Convert.ToInt32(x, 16) 將16進位中x轉化為10進位,            int類型就是十進位;              Console.WriteLine("十進位 50 的十六進位數表示為:{0}", Convert.ToString(50,16));//Convert.TonString(50,16)進位轉換  或者 可用 int a = 50;              a.ToString("X");                  }      }  }

結果是這樣:

果然十六進位下的ASCII碼值與Unicode的字元碼值是相等的,經過查閱資料可以知道:

ASCLL碼全是英文及一些特殊符號(定位字元等),
Unicode中不僅有英文和特殊符號,還有日文、韓文、中文……
現在一般用Unicode(這也是為什麼日記04中C#支援用中文命名變數了的原因了)


和C/C++一樣,在C#中仍然存在著轉義符,用來在程式中代指特殊的控制字元……

可能會不知道 \a 舉個例子 Console.WriteLine("\a\a"); 會發出2聲 “嘀”的聲音,你試試……


字元類型的介紹就在這裡了,最後本著消滅所有疑問的目的,我想搞清楚如何用C/C++編寫進位轉換,看來還得去請教老師了。

(如果有什麼錯誤的地方望各位大神指點,定會感激不盡!!!!)

以上就是C#學習日記08---資料類型 之 字元類型的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.