visual una net functions extraer cortar caracteres caracter cadena buscar .net vb.net string

una - Manipulación de cadenas con & o+en VB.NET



vb net find character in string (6)

Considere si es mejor utilizar String.Format cuando concatene cadenas. Por lo general, el código termina teniendo más sentido de esa manera.

Además, si concatenas muchas veces, considera usar StringBuilder en lugar de String.

He visto varios programadores usar & y + para la manipulación de cadenas.

Como:

dim firstvar as string dim secondvar as string dim thirdvar as string thirdvar = firstvar & secondvar

O es eso:

thirdvar = firstvar + secondvar

¿Importa? Si es así, ¿por qué?


El ampersand es el método recomendado. El operador más funcionará, a veces, para la concatenación de cadenas, pero no se considera correcto y ocasionalmente producirá resultados no deseados.


En general, & siempre concatenará cadenas independientemente de los tipos de argumentos, mientras que + no lo hará. Como no hay desventaja en el uso de & over +, en caso de que desee una concatenación de cadenas, es preferible. También hace que la intención del código sea ligeramente más clara.


Independientemente de los numerosos consejos para "apegarse a uno u otro", depende en gran medida lo que combine.

En resumen, usaría "&" para cadenas y "+" solo para operaciones aritméticas

¿Por qué? Eche un vistazo a https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/operators/addition-operator#remarks

Todas estas combinaciones con alternar la opción estricta son como tirar los dados para el compilador ... y nunca es obvio para el lector.

También agregaré https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/operators-and-expressions/concatenation-operators#differences-between-the-two-concatenation-operators con la declaración clara:

El + Operador tiene el objetivo principal de agregar dos números.


Los operadores + y & no son idénticos en VB.NET.

El uso del operador & indica su intención de concatenar cadenas, mientras que el operador + indica su intención de agregar números. Usar el operador & convertirá ambos lados de la operación en cadenas. Cuando tiene tipos mixtos (un lado de la expresión es una cadena, el otro es un número), su uso del operador determinará el resultado.

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''

Por lo tanto, mi guía (además de evitar mezclar tipos como esta) es usar las cadenas ycuando concatenan, solo para asegurar que sus intenciones sean claras para el compilador, y evitar errores imposibles de encontrar que involucren el uso del operador + para concatenar.


Son idénticos en VB.NET cuando se trabaja con 2 cadenas. El operador "&" está ahí para compatibilidad con versiones anteriores en VB 6 y versiones anteriores, donde & era el operador de concatenación de cadena, y + no funcionaba para texto.

Hay una diferencia si uno de tus dos operandos no es una cadena, como lo indica bdukes . Sin embargo, en esta situación, recomiendo usar String.Format o StringBuilder (dependiendo del número / tipo de operaciones) para construir la cadena resultante de tipos mixtos.

En general, recomendaría usar +, por una sola razón. Si alguna vez decide traducir el código a otro idioma (es decir, C #), el operador + coincidirá más con la versión traducida. Probablemente sea más fácil para las personas que provienen de otro idioma comprender y seguir su código.