Tipo di dati String (Visual Basic)
Contiene sequenze di punti di codice senza segno a 16 bit (2 byte) compresi tra 0 e 65535. Ogni punto di codice, o codice carattere, rappresenta un singolo carattere Unicode. Una stringa può contenere da 0 a circa due miliardi di caratteri Unicode (2 ^ 31).
Osservazioni:
Usare il tipo di dati String
per contenere più caratteri senza l'overhead di gestione della matrice di Char()
, una matrice di Char
elementi.
Il valore predefinito di String
è Nothing
(riferimento Null). Si noti che non corrisponde alla stringa vuota (valore ""
).
Caratteri Unicode
I primi 128 punti di codice (0-127) di Unicode corrispondono alle lettere e ai simboli su una tastiera standard statunitense. Questi primi 128 punti di codice corrispondono a quelli definiti dal set di caratteri ASCII. I secondi 128 punti di codice (128-255) rappresentano caratteri speciali, ad esempio lettere alfabetiche basate sul latino, accenti, simboli di valuta e frazioni. Unicode usa i punti di codice rimanenti (256-65535) per un'ampia gamma di simboli. Sono inclusi caratteri testuali, segno diacritici e simboli matematici e tecnici di tutto il mondo.
È possibile usare metodi come IsDigit e IsPunctuation su un singolo carattere in una variabile String
per determinarne la classificazione Unicode.
Requisiti di formato
È necessario racchiudere un valore letterale String
tra virgolette (" "
). Se è necessario includere le virgolette come uno dei caratteri nella stringa, utilizzare due virgolette contigue (""
). Ciò è illustrato nell'esempio seguente.
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.")
Si noti che le virgolette contigue che rappresentano una virgoletta nella stringa sono indipendenti dalle virgolette che iniziano e terminano il valore letterale String
.
Manipolazioni di stringhe
Dopo aver assegnato una stringa a una variabile String
, tale stringa non è modificabile, il che significa che non è possibile modificarne la lunghezza o il contenuto. Quando si modifica una stringa in qualsiasi modo, Visual Basic crea una nuova stringa e abbandona quella precedente. La variabile String
punta quindi alla nuova stringa.
È possibile modificare il contenuto di una variabile String
usando un'ampia gamma di funzioni stringa. Nell'esempio riportato di seguito viene illustrato l'utilizzo della funzione Left.
Dim S As String = "Database"
' The following statement sets S to a new string containing "Data".
S = Microsoft.VisualBasic.Left(S, 4)
Una stringa creata da un altro componente potrebbe essere riempita con spazi iniziali o finali. Se si riceve una stringa di questo tipo, è possibile usare le funzioni Trim, LTrim e RTrim per rimuovere tali spazi.
Per altre informazioni sulle manipolazioni delle stringhe, vedere Stringhe.
suggerimenti per la programmazione
Numeri negativi. Tenere presente che i caratteri contenuti in
String
sono senza segno e non possono rappresentare valori negativi. In ogni caso, non è consigliabile usareString
per contenere valori numerici.Considerazioni sull'interoperabilità. Se si interagisce con i componenti non scritti per .NET Framework, ad esempio oggetti Automation o COM, tenere presente che i caratteri stringa hanno una larghezza dei dati diversa (8 bit) in altri ambienti. Se si passa un argomento stringa di caratteri a 8 bit a tale componente, dichiararlo come
Byte()
, una matrice diByte
elementi anzichéString
nel nuovo codice Visual Basic.Caratteri tipo. Aggiungendo il carattere di tipo identificatore
$
a qualsiasi identificatore, se ne determina la conversione al tipo di datiString
.String
non ha un carattere di tipo letterale. Tuttavia, il compilatore considera i valori letterali racchiusi tra virgolette (" "
) comeString
.Tipo di framework. Il tipo corrispondente in .NET Framework è la classe System.String.