文字型 (Char) (Visual Basic)
0 から 65535 までの値の範囲の符号なし 16 ビット (2 バイト) のコード ポイントを保持します。 各コード ポイント (文字コード) は、1 つの Unicode 文字を表します。
Remarks
1 文字だけを保持する必要があり、String
のオーバーヘッドを必要としない場合に、Char
データ型を使用します。 場合によっては、複数の文字を保持するために、Char
要素の配列である Char()
を使用できます。
Char
の既定値は、コード ポイントが 0 の文字です。
Unicode 文字
Unicode の最初の 128 コード ポイント (0 ~ 127) は、標準の米国キーボードの文字と記号に対応しています。 これらの最初の 128 コード ポイントは、ASCII 文字セットで定義されているものと同じです。 2 番目の 128 コード ポイント (128 ~ 255) は、ラテン語に基づくアルファベット文字、アクセント、通貨記号、分数などの特殊文字を表します。 Unicode では、残りのコード ポイント (256-65535) を、世界全体のテキスト文字、分音記号、数学記号、技術記号などの多様な記号に使用しています。
Char
変数に対して IsDigit や IsPunctuation などのメソッドを使用して、その Unicode の分類を判断できます。
型変換
Visual Basic では、Char
と数値型の間で直接に変換されません。 Asc または AscW 関数を使用して、Char
値をそのコード ポイントを表す Integer
に変換できます。 Chr または ChrW 関数を使用して、Integer
値をそのコード ポイントを持つ Char
に変換できます。
型チェック スイッチ (Option Strict ステートメント) がオンになっている場合、リテラル型の文字を 1 文字の文字列リテラルに追加して、Char
データ型として識別する必要があります。 次に例を示します。 charVar
変数への最初の代入では、Option Strict
がオンになっているため、コンパイラ エラー BC30512 が生成されます。 2 つ目は、リテラル型の文字 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
を使用して数値を保持しないでください。相互運用の考慮事項。 オートメーション オブジェクトや COM オブジェクトなど、.NET Framework 用に作成されていないコンポーネントとやり取りする場合、他の環境では文字型のデータ幅 (8 ビット) が異なることに注意してください。 そのようなコンポーネントに 8 ビットの引数を渡す場合は、新しい Visual Basic のコードで、
Char
ではなくByte
として宣言します。拡大変換。
Char
データ型は、String
に拡大変換されます。 つまり、Char
をString
に変換でき、System.OverflowException は発生しません。型宣言文字。 1 文字の文字列リテラルにリテラルの型文字
C
を付けると、それはChar
データ型に変換されます。Char
には識別子の型文字がありません。Framework のデータ型 .NET Framework において対応する型は、System.Char 構造体です。
関連項目
.NET