Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

200
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!