回覆列表
  • 1 # 使用者7535613202055

    char就是整數型別。C#分為值型別和引用型別。值型別又主要由結構和列舉兩類組成。結構又分為Numeric(數值)型別,bool,使用者定義結構這三類。Numeric(數值)型別又包括了整型,浮點型和decimal。char型別正是在整型中。以下粗體字是msdn中的原文:char 關鍵字用於宣告 .NET framework 使用 Unicode 字元表示 System.Char 結構的例項。 Char 物件的值是 16 位數字 (序號值。)這句話說明了為什麼要有char關鍵字,char是為了能使用unicode字元。char 型別的常數可以寫成字元、十六進位制換碼序列或 Unicode 表示形式。這句話說明了char的顯示形式。char 可以隱式轉換為 ushort、int、uint、long、ulong、float、double 或 decimal。 但是,不存在從其他型別到 char 型別的隱式轉換。這句話說明了char是可以和其他部分整數型別進行隱式轉換的,如果熟悉隱式轉換的定義,應該就能很好理解這句話。char的範圍是整數0 ~ 65535,所以char能隱式轉換為範圍大於0 ~65535的整數型別。不要因為char可以用字元來顯示就誤認為char不是整數型別,就好像麵粉可以做成麵條,也可以做成餃子皮,不管以什麼形式顯示,本質還是一串數字。有些C#的入門教材的確是將char不列入整數型別來介紹,一般是單獨作為字元或者和字串一起介紹。個人認為這樣是不太妥當的。特別是和字串String放在一起介紹,這絕對是會坑害初學者,雖然都有字元兩個字,但是char是值型別,string是引用型別,單從型別來說是天差地別了。接下來說說題主提到的關於列舉的那句話:每種列舉型別都有基礎型別,該型別可以是除 char 以外的任何整型。這句話本身是沒有問題的,看下圖的程式碼。列舉元素的預設基礎型別為 int。 要宣告另一整型列舉(如 byte),請在識別符號之後緊跟型別,然後再使用冒號,可以看到如果宣告為char,VS是會直接報錯。題主還說到了顯示值不能用char,我不太理解這個顯示值是不是就是指後面的列舉值,如果是的話那就是不正確的了,看下圖的程式碼。使用char作為列舉值是不會報錯的。參考資料:整型表(C# 參考)char(C# 參考)

  • 中秋節和大豐收的關聯?
  • 年夜飯是在家裡吃好還是在飯店吃好,你怎麼認為呢?