AYUDA .NET

C# Multiline String (Cómo funciona para desarrolladores)

Actualizado agosto 15, a. m.
Compartir:

Cuando te inicias en C#, las cadenas son uno de los primeros conceptos que aprendes. Si alguna vez has preparado un "Hola, mundo!', entonces ya has trabajado con cadenas.

A medida que se familiarice con C#, sus programas serán más complejos. En poco tiempo, empezarás a trabajar con cadenas que abarcan varias líneas. Si estás en esa fase, estás de suerte, porque en esta guía te explicaremos qué son las cadenas multilínea y cómo utilizarlas. Vamos a sumergirnos.

¿Qué es una cadena multilínea?

Las cadenas multilínea son exactamente lo que parecen: una cadena que abarca varias líneas, en contraste con la cadena habitual de una sola línea. Una cadena multilínea en C# se crea utilizando literales de cadena, que son una serie de caracteres encerrados entre comillas dobles. Para formar cadenas multilínea, necesitamos utilizar un tipo especial de literales de cadena llamados literales de cadena literales.

La magia de las cuerdas Verbatim

Para crear una cadena literal multilínea en C#, utilizamos cadenas literales. Las cadenas verbales llevan el prefijo @ y nos permiten incluir saltos de línea, caracteres especiales e incluso espacios en blanco sin utilizar secuencias de escape.

He aquí un ejemplo de cadena multilínea que utiliza una cadena textual:

string str = @"This is a
multiline string
in C#.";
string str = @"This is a
multiline string
in C#.";
Dim str As String = "This is a
multiline string
in C#."
VB   C#

La cadena str contiene tres líneas, y cada línea está separada por un salto de línea. Observe el uso del símbolo @ para crear la cadena literal.

Escapar caracteres en cadenas literales

Puede haber casos en los que necesite incluir comillas dobles dentro de una cadena textual. Para ello, debe utilizar comillas dobles. Por ejemplo:

string str = @"This is a
""multiline""
string in C#.";
string str = @"This is a
""multiline""
string in C#.";
Dim str As String = "This is a
""multiline""
string in C#."
VB   C#

En este ejemplo, la cadena str contiene la palabra "multilínea" entre comillas dobles, lo que se consigue utilizando comillas dobles dentro de la cadena textual.

Concatenar cadenas multilínea

A menudo puede ser necesario combinar cadenas multilínea con otras cadenas o valores. Para concatenar una cadena multilínea con otros valores de cadena, puedes utilizar el operador "+", igual que harías con cadenas de una sola línea.

string name = "John";
string str = @"Hello, " + name + @",
Welcome to the
world of C# multiline strings!";
string name = "John";
string str = @"Hello, " + name + @",
Welcome to the
world of C# multiline strings!";
Dim name As String = "John"
Dim str As String = "Hello, " & name & ",
Welcome to the
world of C# multiline strings!"
VB   C#

Aquí, hemos concatenado la cadena multilínea con un nombre de cadena de una sola línea.

Formato de cadenas multilínea

Al trabajar con cadenas de varias líneas, puede darles formato con variables o expresiones. Para formatear una cadena de varias líneas, puede utilizar el símbolo "$" para la interpolación de cadenas.

int age = 25;
string str = $@"Hello, I am {age} years old,
and I am learning
C# multiline strings!";
int age = 25;
string str = $@"Hello, I am {age} years old,
and I am learning
C# multiline strings!";
Dim age As Integer = 25
Dim str As String = $"Hello, I am {age} years old,
and I am learning
C# multiline strings!"
VB   C#

Hemos utilizado la interpolación de cadenas para incluir el valor de la variable de edad dentro de la cadena multilínea.

Conversión de cadenas de varias líneas en cadenas de una sola línea

A veces, puede ser necesario convertir cadenas de varias líneas en cadenas de una sola línea. Para ello, puede utilizar el método Reemplazar para sustituir los saltos de línea por un espacio o cualquier otro carácter que desee.

string multilineString = @"This is a
multiline string
in C#.";
string singleLineString = multilineString.Replace(Environment.NewLine, " ");
string multilineString = @"This is a
multiline string
in C#.";
string singleLineString = multilineString.Replace(Environment.NewLine, " ");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Hemos sustituido los saltos de línea de la cadena multilínea por un espacio, dando como resultado una cadena de una sola línea.

Manejo de cadenas largas

A veces, las cadenas muy largas pueden ser difíciles de leer en el código. Para que el código sea más legible, puede dividir las cadenas largas en varias líneas utilizando el operador "+".

string longString = "This is a very long string that " +
                   "needs to be split across " +
                   "multiple lines for better readability.";
string longString = "This is a very long string that " +
                   "needs to be split across " +
                   "multiple lines for better readability.";
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Dividimos la larga cadena de una sola línea en tres partes y las concatenamos utilizando el operador "+", lo que hace que el código sea más legible.

Creación de literales de cadena multilínea con literales de cadena sin procesar

En C# 10, se introdujo una nueva función denominada literales de cadena sin procesar. Permiten crear literales de cadena multilínea sin utilizar el símbolo '@'. Para crear una cadena literal sin procesar, encerramos la cadena entre comillas triples ("""). Los literales de cadena sin procesar conservan todos los caracteres, incluidos los saltos de línea, dentro de las comillas triples. Por ejemplo:

string str = """This is a
multiline string
using raw string literals in C# 10.""";
string str = """This is a
multiline string
using raw string literals in C# 10.""";
Dim str As String = """This is a multiline string using raw string literals in C# 10."""
VB   C#

Creamos una cadena multilínea utilizando literales de cadena sin procesar. Observa el uso de comillas triples para encerrar la cadena.

Escapar caracteres en literales de cadena sin procesar

Al igual que en el caso de las cadenas literales, es posible que debamos incluir comillas dobles en las cadenas literales. Para ello, podemos utilizar comillas dobles. Por ejemplo:

string str = """This is a
""multiline""
string using raw string literals in C# 10.""";
string str = """This is a
""multiline""
string using raw string literals in C# 10.""";
Dim str As String = """This is a ""multiline"" string using raw string literals in C# 10."""
VB   C#

Incluimos comillas dobles dentro de la cadena literal sin procesar utilizando comillas dobles.

Combinación de literales literales y literales de cadena sin procesar

En algunos casos, es posible que queramos combinar las características de los literales literales y de los literales de cadena sin procesar. Para ello, utilice el símbolo "@" seguido de comillas triples.

string str = @"""This is a
multiline string
using both verbatim and raw string literals in C# 10."""
string str = @"""This is a
multiline string
using both verbatim and raw string literals in C# 10."""
Dim str As String = """This is a
multiline string
using both verbatim and raw string literals in C# 10."""
VB   C#

En este ejemplo, hemos creado una cadena multilínea utilizando literales literales y crudos. Fíjese en el uso del símbolo "@" seguido de comillas triples.

Uso de cadenas multilínea para generar PDF en IronPDF

IronPDF es una ligera biblioteca PDF .NET diseñada específicamente pensando en los desarrolladores web. Hace que leer, escribir y manipular archivos PDF sea pan comido, ya que es capaz de convertir todo tipo de archivos en contenido PDF, y puede utilizarlo en sus proyectos .NET tanto para escritorio como para web. Y lo mejor es que se puede probar gratis en un entorno de desarrollo.

A continuación se explica cómo utilizar una cadena multilínea HTML para crear un archivo PDF en IronPDF:

string name = "John";
string age = "25";
string content = $@"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>";
string name = "John";
string age = "25";
string content = $@"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>";
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

// Crear un nuevo documento PDF var pdfDocument = nuevo IronPdf.ChromePdfRenderer(); pdfDocument.RenderHtmlAsPdf(contenido)Guardar como("c://BioData.pdf");

Y esto es lo que parece ese código en acción:

En este ejemplo, hemos utilizado la interpolación de cadenas para incluir las variables de nombre y edad dentro de nuestra cadena multilínea, haciendo que el contenido de nuestro PDF sea dinámico y personalizable. Creamos una cadena multilínea con el contenido que queríamos en el PDF. A continuación, instanciamos la clase ChromePdfRenderer del espacio de nombres IronPDF y utilizamos el método RenderHtmlAsPdf para convertir el contenido de cadena multilínea en un documento PDF. Por último, guardamos el documento PDF en un archivo llamado "BioData.pdf".

Conclusión

Y esto es todo un recorrido por el versátil mundo de las cuerdas multilínea. Ahora que ya eres un profesional de las cadenas multilínea en C#, puedes empezar a implementarlas en tus proyectos, como en el ejemplo anterior con IronPDF.

¿Quiere hacerse con IronPDF? Puede empezar con nuestro 30 días de prueba gratuita. Además, su uso para fines de desarrollo es totalmente gratuito, por lo que podrás ver de qué está hecho. Y si le gusta lo que ve, IronPDF le ofrece desde tan sólo $749. Para ahorrar aún más, consulte el Iron Suite donde puede conseguir las nueve herramientas de Iron Software por el precio de dos. Feliz codificación!

< ANTERIOR
¿Qué es Visual C++ Redistributable?
SIGUIENTE >
C# If (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.8 acaba de salir

Descarga gratuita de NuGet Descargas totales: 10,439,034 Ver licencias >