Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

201
Vistas
Líneas de interpolación de cadenas largas en C#6

Descubrí que si bien la interpolación de cadenas es realmente agradable cuando se aplica a las llamadas de formato de cadena de mi base de código existente, dado el límite de columna generalmente preferido, la cadena rápidamente se vuelve demasiado larga para una sola línea. Especialmente cuando las expresiones que se interpolan son complejas. Con una cadena de formato, tiene una lista de variables que puede dividir en varias líneas.

 var str = string.Format("some text {0} more text {1}", obj1.property, obj2.property);

¿Alguien tiene algún medio preferido para dividir estas líneas?

Supongo que podrías hacer algo como:

 var str = $"some text { obj1.property }" + $" more text { obj2.property };
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puede dividir la línea en varias líneas, pero ya no diría que la sintaxis se ve bien.

Debe usar la sintaxis $@ para usar una cadena textual interpolada, y puede colocar líneas nuevas dentro de los parámetros {...} , así:

 string s = $@"This is all { 10 } going to be one long { DateTime.Now } line.";

La cadena anterior no contendrá saltos de línea y en realidad tendrá contenido como este:

Estos son los 10 que van a ser una línea larga 01.08.2015 23.49.47.

(nota, formato noruego)

Ahora, dicho esto, no dejaría de usar string.Format . En mi opinión, algunas de estas expresiones de interpolación de cadenas se ven muy bien, pero las más complejas comienzan a ser muy difíciles de leer. Teniendo en cuenta que, a menos que use FormattableString , el código se compilará en una llamada a String.Format de todos modos, diría que continúe con String.Format donde tenga sentido.

over 4 years ago · Santiago Trujillo Denunciar

0

Puede combinar $ y @ para obtener una interpolación de cadenas y una cadena literal de varias líneas:

 var str = $@"some text { obj1.property } more text { obj2.property }";

Pero eso le dará un carácter NewLine en el medio, por lo que podría no ser lo que desea.

over 4 years ago · Santiago Trujillo Denunciar

0

Si bien OP solicitó algo más, espero que a muchas personas que lean esta pregunta les guste un $"" interpolado de varias líneas que funcione como @"" . Para hacer eso, use $@""

 $@"Height: {height} Width: {width} Background: {background}"
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda