I +
e &
operatori sono non identica VB.NET.
L'utilizzo dell'operatore &
indica l'intenzione di concatenare stringhe, mentre l'operatore +
indica l'intenzione di aggiungere numeri. L'utilizzo dell'operatore &
convertirà entrambi i lati dell'operazione in stringhe. Quando si hanno tipi misti (un lato dell'espressione è una stringa, l'altro è un numero), l'utilizzo dell'operatore determinerà il risultato.
1 + "2" = 3 'This will cause a compiler error if Option Strict is on'
1 & "2" = "12"
1 & 2 = "12"
"text" + 2 'Throws an InvalidCastException since "text" cannot be converted to a Double'
Quindi, la mia linea guida (a parte evitare i tipi di miscelazione del genere) è quello di utilizzare il &
quando concatenazione di stringhe, solo per assicurarsi che le vostre intenzioni sono chiare al compilatore, ed evitare impossibili da trovare bug che coinvolgono utilizzando l'operatore +
per concatenare.
Possibile duplicato * [La differenza tra + e & per unire le stringhe in VB.NET] (http://stackoverflow.com/questions/734600/the-difference-between-and-for-joining-strings- in-vb-net) *. –