visual strings net how concatener concatenate concatenar concatenacion cadenas and vb.net string-concatenation

strings - Ampersand vs plus para concatenar cadenas en VB.NET



vb net concat string and integer (5)

Es más seguro de utilizar y ya que está haciendo que su intención sea clara para el compilador (quiero concatenar estos dos valores y ambos deben convertirse en cadenas).

Usar + puede llevar a errores difíciles de encontrar si las cadenas son valores numéricos, al menos si la opción estricta está desactivada.

Por ejemplo:

1 + "1" = 2 '' this fails if option strict is on 1 & "1" = 11

Editar: aunque si estás concatenando un hilo que no sea una cuerda, probablemente deberías usar algún método mejor.

Esta pregunta ya tiene una respuesta aquí:

En VB.NET, ¿hay alguna ventaja al usar & para concatenar cadenas en lugar de + ?

Por ejemplo

Dim x as String = "hello" + " there"

vs.

Dim x as String = "hello" & " there"

Sí, sé que para muchas concatenaciones de cadenas me gustaría usar StringBuilder , pero esta es más una pregunta general.


Escuché buenos y sólidos argumentos a favor de ambos operadores. Qué argumento gana el día depende en gran medida de su situación. Lo único que puedo decir es que debes estandarizar en uno u otro. El código que mezcla los dos está pidiendo confusión más tarde.

Los dos argumentos que recuerdo ahora para favorecer a &:

  • Si no está utilizando Option Strict y tiene dos cadenas numéricas, es fácil para el compilador confundir su significado del operador + con, ya sabe, la suma aritmética
  • Si está actualizando una gran cantidad de código anterior de la era vb6, ayuda a no tener que convertir los operadores de concatenación (y recuerde: queremos consistencia).

Y para +:

  • Si tiene un taller mixto vb / C #, es bueno tener solo un operador de concatenación. Hace que sea más fácil mover el código entre los idiomas y significa mucho menos un cambio de contexto para los programadores cuando se mueven hacia adelante y hacia atrás entre los idiomas.
  • & es casi exclusivo de VB, mientras que + entre cadenas se entiende en muchos idiomas como concatenación, por lo que obtienes un poco de legibilidad.

La preference de Micorosoft es que los programadores de VB usen & para cadenas, NOT +.

También puede usar el operador + para concatenar cadenas. Sin embargo, para eliminar la ambigüedad, debe usar el operador & en su lugar.


Prefiero usar & para concatenaciones de cadenas en VB.NET

Una razón para esto es evitar cualquier confusión, por ejemplo

MessageBox.Show(1 & 2) '' "12" MessageBox.Show(1 + 2) '' 3


Supongo que es histórico (no .NET Visual Basic usa &, no estoy seguro de por qué introdujeron el +) y una cuestión de gusto (prefiero y porque concatenamos cadenas, no las agregamos ...).