Char 資料類型 (Visual Basic)

保存不帶正負號的 16 位元 (2 位元組) 字碼指標,範圍介於 0 到 65,535 之間的值。 每個字碼指標,或字元碼都代表單一 Unicode 字元。

備註

當您只需要保留單一字元,且不需要 String 的額外負荷時,請使用 Char 資料類型。 在某些情況下,您可以使用 Char()Char 的元素陣列來保存多個字元。

Char 的預設值是代碼指標為 0 的字元。

Unicode 字元

Unicode 的前 128 個字碼指標 (0–127) 對應至標準美國鍵盤上的字母和符號。 前 128 個字碼指標與 ASCII 字元集所定義的字碼指標相同。 第二個 128 字碼指標 (128–255) 代表特殊字元,例如拉丁字母、輔色、貨幣符號和分數。 Unicode 會針對各種不同的符號使用剩餘代碼指標 (256-65535),包括全球文字字元、讀音符號,以及數學和技術符號。

您可以使用 IsDigitIsPunctuation 之類的方法,在 Char 變數上判斷其 Unicode 分類。

類型轉換

Visual Basic 不會直接在 Char 和數值型別之間轉換。 您可以使用 AscAscW 函式,將 Char 值轉換成代表其字碼指標的 Integer。 您可以使用 ChrChrW 函式,將 Integer 值轉換成具有該字碼指標的 Char

如果類型檢查參數 (Option Strict 陳述式) 開啟,您必須將常值型別字元附加至單一字元字串常值,才能將其識別為 Char 資料類型。 說明如下例。 charVar 變數的第一個指派會產生編譯器錯誤 BC30512,因為 Option Strict 已開啟。 第二個編譯成功,因為 c 常值型別字元將常值識別為 Char 值。

Option Strict On

Module CharType
    Public Sub Main()
        Dim charVar As Char

        ' This statement generates compiler error BC30512 because Option Strict is On.  
        charVar = "Z"  

        ' The following statement succeeds because it specifies a Char literal.  
        charVar = "Z"c
    End Sub
End Module

程式設計提示

  • 負數。 Char 不是不帶正負號的型別,且不能代表負值。 在任何情況下,您都不應該使用 Char 來保存數值。

  • Interop 考量。 如果您要使用的元件不是針對 .NET Framework 所撰寫 (例如 Automation 或 COM 物件),請記住,字元類型在其他環境中會有不同的資料寬度 (8 位元)。 如果您要將 8 位元引數傳遞至這類元件,請在新的 Visual Basic 程式碼中將其宣告為 Byte,而非 Char

  • 擴展。 Char 資料類型可放大為 String。 這表示您可以將 Char 轉換成 String,且不會遇到 System.OverflowException

  • 型別字元。 將常值類型字元 C 附加到單一字元字串常值,會強制其成為 Char 資料類型。 Char 沒有識別項型別字元。

  • Framework 型別。 在 .NET Framework 中對應的類型為 System.Char 結構。

另請參閱