SÍ, LO HACE! PÓNGALO PARA PROBAR.
Desde .NET compila todos los idiomas que gestiona (VB, C#, C++) a las instrucciones IL (Intermedio idioma) y String
tipo es parte de CLS (Common Language Specification) todas las versiones de .NET Framework: 2.0, 3.0, 3.5, 4.0 optimiza la concatenación de literales String
como parte del proceso de compilación.
Para el código de VB.NET ejemplo a continuación:
Dim s As String = "A" & "B" & "C"
produce la siguiente instrucción IL:
L_0008: ldstr "ABC"
Esto demuestra claramente que el compilador está optimizando String
concatenación literal (probado en: ildasm.exe)
Sin embargo, si el código obove está escrito en instrucciones separadas:
Dim s As String = "A"
s &= "B"
s &= "C"
no se realiza optimización y la concatenación String
se ejecuta en tiempo de ejecución (sobrecarga de rendimiento). Lo mismo aplica para una sola instrucción de línea con datos resueltos en tiempo de ejecución (variables, propiedades, métodos).
Uso subrayado _ para conectar declaraciones anteriores en un solo estado para hacer cumplir la optimización:
Dim s As String = "A" _
& "B" _
& "C" _
y en caso de que necesita nuevas líneas entre tokens usar vbCrLf
(en tiempo de compilación) constante para asegurar la optimización porque el uso de Environment.NewLine
(La propiedad no proporciona optimización.
¡Espero que esto te ayude a obtener el mejor rendimiento!
Ahora es una carrera para encontrarlo en la especificación. :-) – Larsenal