Char 資料類型 (Visual Basic)

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

備註

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

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

Unicode 字元

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

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

類型轉換

Visual Basic 不會直接在 Char 和數值型別之間轉換。 您可以使用 Asc 或 AscW 函式,將 Char 值轉換成代表其字碼指標的 Integer。 您可以使用 Chr 或 ChrW 函式,將 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 結構。

另請參閱