Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 String tipo di dati 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, diacritici e simboli matematici e tecnici in tutto il mondo.
È possibile usare metodi come IsDigit e IsPunctuation su un singolo carattere in una String variabile per determinare la classificazione Unicode.
Requisiti di formato
È necessario racchiudere un String valore letterale tra virgolette (" "). Se è necessario includere una virgoletta come uno dei caratteri nella stringa, utilizzare due virgolette contigue (""). Nell'esempio seguente viene illustrato questo.
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 String valore letterale.
Manipolazioni di stringhe
Dopo aver assegnato una stringa a una String variabile, 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 String variabile punta quindi alla nuova stringa.
È possibile modificare il contenuto di una String variabile usando un'ampia gamma di funzioni stringa. L'esempio seguente illustra la Left funzione
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 Trimfunzioni , LTrime RTrim per rimuovere questi spazi.
Per altre informazioni sulle manipolazioni delle stringhe, vedere Stringhe.
Suggerimenti per la programmazione
Numeri negativi. Tenere presente che i caratteri contenuti in
Stringsono senza segno e non possono rappresentare valori negativi. In ogni caso, non è consigliabile usareStringper 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 diByteelementi anziché nel nuovo codice visualStringBasic.Caratteri tipo. L'aggiunta del carattere
$del tipo di identificatore a qualsiasi identificatore forza l'identificatore alStringtipo di dati.Stringnon 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.