次の方法で共有


文字列データ型 (Visual Basic)

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

注釈

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

Stringの既定値は Nothing (null 参照) です。 これは空の文字列 (値 "") と同じではないことに注意してください。

Unicode 文字

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

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

書式の要件

Stringリテラルは引用符 (" ") で囲む必要があります。 文字列内の文字の 1 つとして引用符を含める必要がある場合は、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 クラスです。

こちらも参照ください