¿Hay una manera decente de declarar una cadena larga de una sola línea en C#, de modo que no sea imposible declarar y/o ver la cadena en un editor?Declarando una cadena de una línea looooong en C#
Las opciones yo sepa son:
1: Deje que se ejecute. Esto es malo porque debido a que su cadena se encuentra a la derecha de la pantalla, hacer que un desarrollador lea el mensaje tenga que desplazarse y leer molesto.
string s = "this is my really long string. this is my really long string. this is my really long string. this is my really long string. this is my really long string. this is my really long string. this is my really long string. this is my really long string. ";
2: @ + newlines. Esto se ve bien en el código, pero introduce nuevas líneas en la cadena. Además, si quiere que se vea bien en el código, no solo obtendrá líneas nuevas, sino que también obtendrá espacios incómodos al comienzo de cada línea de la cadena.
string s = @"this is my really long string. this is my long string.
this line will be indented way too much in the UI.
This line looks silly in code. All of them suffer from newlines in the UI.";
3: "" + ...
Esto funciona bien, pero es muy frustrante para escribir. Si necesito agregar el texto de la mitad de una línea en algún lado, tengo que actualizar todo tipo de + y mover el texto por todas partes.
string s = "this is my really long string. this is my long string. " +
"this will actually show up properly in the UI and looks " +
"pretty good in the editor, but is just a pain to type out " +
"and maintain";
4: string.format or string.concat
. Básicamente lo mismo que arriba, pero sin los signos más. Tiene los mismos beneficios y desventajas.
¿Realmente no hay forma de hacerlo bien?
La concatenación de los literales de cadena es manejada por el compilador de C#, por lo que no hay sobrecarga en el tiempo de ejecución para usar una cadena declarada como '" x "+" y "+" Z "+ ...' –
¡Ah, @ 280Z28 es, por supuesto, correcto! Agregué algunas aclaraciones sobre cuándo usar el enfoque StringBuilder (cuando tienes variables mezcladas con tus ideas). –