String 資料類型 (Visual Basic)

可保留不帶正負號的 16 位元 (2 位元組) 字碼指標序列,範圍值介於 0 到 65535 之間。 每個字碼指標,或字元碼都代表單一 Unicode 字元。 字串可以包含 0 到大約 20 億個 (2 ^ 31) Unicode 字元。

備註

使用 String 資料類型來保存多個字元,而不需要 Char() 的陣列管理額外負荷,就是 Char 元素陣列。

String 的預設值為 Nothing (null 參考)。 請注意,這與空白字串 ("" 值) 不同。

Unicode 字元

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

您可以在 String 變數中的個別字元上使用 IsDigitIsPunctuation 之類的方法來判斷其 Unicode 分類。

格式需求

您必須以引號括住 String 常值 (" ")。 如果您必須在字串中包含引號作為其中一個字元,請使用兩個連續引號 ("")。 說明如下例。

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)  

由另一個元件建立的字串可能會填補前置或後置空格。 如果您收到這類字串,您可以使用 TrimLTrimRTrim 函式來移除這些空格。

如需字串操作的詳細資訊,請參閱字串

程式設計提示

  • 負數。 請記住,String 所持有的字元不帶正負號,而且不能代表負值。 在任何情況下,您都不應該使用 String 來保存數值。

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

  • 類型字元。 將識別項型別字元 $ 附加到任何識別項,會強制其成為 String 資料類型。 String 沒有常值型別字元。 不過,編譯器會將包含在引號符號 (" ") 內的常值視為 String

  • Framework 類型。 .NET Framework 中的對應類型為 System.String 類別。

另請參閱