No podría decir exactamente si esto ayudaría a su rendimiento o no. Dependerá de cuántas cadenas use y con qué frecuencia crea instancias de esas cadenas. Por lo general, la internación se realiza de forma automática, por lo que el chequeo explícito de si la cadena está intervenida puede aumentar su sobrecarga y reducir su rendimiento. Cuando se trata de uso de memoria, las cadenas internas definitivamente pueden usar menos memoria.
Si desea utilizar el interinato de cuerdas, existen algunas formas mejores de lograrlo. En primer lugar, colocaría los nombres de sus elementos en una clase estática llena de constantes de cadenas públicas. Cualquier literal de cadena que se encuentre en el código fuente de su programa se interna definitivamente y de forma automática. Tales cadenas se cargan en el grupo interno cuando se carga la aplicación. Si sus cadenas no se pueden definir como constantes para la preparación interna en tiempo de compilación, simplemente llamaría a String.Intern (...) en lugar de hacer la expresión ternaria completa String.IsInterned (...)? ...: String.Intern (...). El método Intern verificará automáticamente si la cadena está internada, devolverá la versión interna si es así, y de lo contrario agregará la cadena al grupo interno y lo devolverá si no lo está. No es necesario comprobar manualmente IsInterned usted mismo.
De nuevo, no puedo decir si las cadenas de prácticas manuales mejorarán el rendimiento. Si usa constantes, serán internados automáticamente, de la manera más óptima, y ese es el mejor enfoque para mejorar el rendimiento y el uso de la memoria de cadenas reutilizadas regularmente. Sinceramente, le recomendaría que se mantenga alejado de la práctica manual, y deje que el compilador y el tiempo de ejecución manejen la optimización para usted.
Mi sugerencia genérica a esto sería - hacerlo por uno mismo y medir si hace alguna diferencia ... (Aunque sé que no es realmente lo que está después ...) – Rashack
@Rashack pretendo para probarlo, pero también creo que es una pregunta válida, y no vi una pregunta directamente relacionada con el análisis de texto, como HTML o contenido basado en XML. :) –