Operatori di concatenazione in Visual Basic

Gli operatori di concatenazione consentono di unire più stringhe in un'unica stringa. Sono disponibili due operatori di concatenazione: + e &. Entrambi eseguono operazioni di concatenazione di base, come illustrato nell'esempio seguente.

Dim x As String = "Mic" & "ro" & "soft"
Dim y As String = "Mic" + "ro" + "soft"
' The preceding statements set both x and y to "Microsoft".

Questi operatori possono concatenare anche variabili di tipo String, come nell'esempio seguente.

Dim a As String = "abc"
Dim d As String = "def"
Dim z As String = a & d
Dim w As String = a + d
' The preceding statements set both z and w to "abcdef".

Differenze tra i due operatori di concatenazione

L'operatore + ha lo scopo principale di aggiungere due numeri. Questo operatore consente però anche di concatenare operandi numerici con operandi stringa. L'operatore + include un insieme complesso di regole che determinano se aggiungere, concatenare, segnalare un errore del compilatore oppure generare un'eccezione InvalidCastException in fase di esecuzione.

L'operatore& è definito solo per String gli operandi e estende sempre gli operandi a String, indipendentemente dall'impostazione di Option Strict. L'operatore & rappresenta la scelta consigliata per la concatenazione delle stringhe poiché viene definito solo per le stringhe e riduce la possibilità di generare conversioni non intenzionali.

Prestazioni: String e StringBuilder

Se una stringa subisce numerose manipolazioni, ad esempio concatenazioni, eliminazioni e sostituzioni, l'uso della classe StringBuilder nello spazio dei nomi System.Text può migliorare le prestazioni. Questa classe richiede un'istruzione aggiuntiva per la creazione e l'inizializzazione di un oggetto StringBuilder e un'altra istruzione per la conversione del relativo valore finale in String, ma in questo caso è possibile eseguire il ripristino perché l'esecuzione di StringBuilder è più veloce.

Vedi anche