文字列型 (String) (Visual Basic)

0 から 65535 までの値の範囲の符号なし 16 ビット (2 バイト) のコード ポイントにシーケンスを保持します。 各コード ポイント (文字コード) は、1 つの Unicode 文字を表します。 文字列には、0 ~ 約 20 億 (2 ^ 31) の Unicode 文字を含めることができます。

Remarks

String データ型を使用して、Char 要素の配列である Char() の配列管理のオーバーヘッドを発生させることなく、複数の文字を保持します。

String の既定値は Nothing (null 参照) です。 これは空の文字列 (値 "") と同じではありません。

Unicode 文字

Unicode の最初の 128 コード ポイント (0 ~ 127) は、標準の米国キーボードの文字と記号に対応しています。 これらの最初の 128 コード ポイントは、ASCII 文字セットで定義されているものと同じです。 2 番目の 128 コード ポイント (128 ~ 255) は、ラテン語に基づくアルファベット文字、アクセント、通貨記号、分数などの特殊文字を表します。 Unicode では、さまざまな記号に残りのコード ポイント (256-65535) を使用します。 これには、世界中のテキスト文字、分音記号、算術記号、および技術用記号が含まれます。

String 変数内の個々の文字に対して IsDigitIsPunctuation などのメソッドを使用して、その Unicode の分類を判断できます。

書式の要件

String リテラルは、引用符 (" ") で囲む必要があります。 文字列内の文字のいずれかとして引用符を含める必要がある場合は、2 つの連続する引用符 ("") を使用します。 次に例を示します。

Dim j As String = "Joe said ""Hello"" to me."  
Dim h As String = "Hello"  
' The following messages all display the same thing:  
' "Joe said "Hello" to me."  
MsgBox(j)  
MsgBox("Joe said " & """" & h & """" & " to me.")  
MsgBox("Joe said """ & h & """ to me.")  

文字列内の引用符を表す連続する引用符は、String リテラルを開始および終了する引用符とは独立しています。

文字列の処理

文字列を String 変数に割り当てた後、その文字列は不変になります。つまり、長さや内容を変更できなくなります。 文字列を何らかの方法で変更すると、Visual Basic によって新しい文字列が作成され、前の文字列が破棄されます。 その後、String 変数は新しい文字列を指します。

さまざまな文字列関数を使用することで、String 変数の内容を操作できます。 Left 関数の例を次に示します

Dim S As String = "Database"  
' The following statement sets S to a new string containing "Data".  
S = Microsoft.VisualBasic.Left(S, 4)  

別のコンポーネントによって作成された文字列は、先頭または末尾にスペースが埋め込まれている可能性があります。 このような文字列を受け取った場合は、TrimLTrim、および RTrim の各関数を使用して、これらのスペースを削除できます。

文字列操作の詳細については、「文字列」を参照してください。

プログラミングのヒント

  • 負の数値。 String によって保持されている文字は符号なしであり、負の値を表すことはできないことに注意してください。 いかなる場合でも、String を使用して数値を保持しないでください。

  • 相互運用の考慮事項。 オートメーション オブジェクトや COM オブジェクトなど、.NET Framework 用に作成されていないコンポーネントとやり取りする場合、他の環境では文字列の文字のデータ幅 (8 ビット) が異なることに注意してください。 そのようなコンポーネントに 8 ビット文字の文字列引数を渡す場合は、新しい Visual Basic のコードで、String ではなく、Byte 要素の配列である Byte() として宣言します。

  • 型宣言文字。 ある識別子に識別子の型文字 $ を付けると、その識別子は String データ型に変換されます。 String にはリテラルの型文字は含まれません。 ただし、コンパイラでは、引用符 (" ") で囲まれたリテラルは、String として処理されます。

  • Framework のデータ型 .NET Framework において対応する型は、System.String クラスです。

関連項目