AYUDA .NET

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

Actualizado 23 de mayo, 2023
Compartir:

¿Qué es una cadena multilínea?

En C#, una cadena multilínea es una cadena que abarca varias líneas. Es diferente de una cadena de una sola línea, que sólo consta de caracteres en una 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 literales llevan como prefijo el símbolo @ 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 incluir comillas dobles dentro de una cadena textual, 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#

Concatenamos la cadena multilínea con una cadena de una sola línea nombre.

Formato de cadenas multilínea

Cuando trabaje con cadenas de varias líneas, puede que necesite darles formato incluyendo 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 age 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 Replace 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, " ");
Dim multilineString As String = "This is a
multiline string
in C#."

Dim singleLineString As String = multilineString.Replace(Environment.NewLine, " ")
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

Es posible que a menudo tengas que trabajar con cadenas muy largas que son difíciles de leer en tu 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.";
Dim longString As String = "This is a very long string that " & "needs to be split across " & "multiple lines for better readability."
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, así """. 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.

Generación de PDF con IronPDF y C#

En esta sección, exploraremos cómo utilizar IronPDF una potente biblioteca que facilita la creación, lectura y edición de archivos PDF en C# a partir de HTML, junto con C#

La función principal de IronPDF es HTML a PDF conversión. IronPDF conserva el diseño y el estilo del contenido de las páginas web en su forma PDF. Entre los usos habituales de IronPDF se incluyen la creación de facturas, informes y documentación.

using IronPdf;

class Program
{
    static void Main(string [] args)
    {
        var renderer = new ChromePdfRenderer();

        //  1. Convertir cadena HTML a PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        //  2. Convertir archivo HTML a PDF
        var htmlFilePath = "path_to_your_html_file.html"; //  Especifique la ruta a su archivo HTML
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        //  3. Convertir URL a PDF
        var url = "http://ironpdf.com"; // Especificar la URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string [] args)
    {
        var renderer = new ChromePdfRenderer();

        //  1. Convertir cadena HTML a PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        //  2. Convertir archivo HTML a PDF
        var htmlFilePath = "path_to_your_html_file.html"; //  Especifique la ruta a su archivo HTML
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        //  3. Convertir URL a PDF
        var url = "http://ironpdf.com"; // Especificar la URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		'  1. Convertir cadena HTML a PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		'  2. Convertir archivo HTML a PDF
		Dim htmlFilePath = "path_to_your_html_file.html" '  Especifique la ruta a su archivo HTML
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		'  3. Convertir URL a PDF
		Dim url = "http://ironpdf.com" ' Especificar la URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
VB   C#

Instalación de IronPDF

Para empezar a utilizar IronPDF, primero debe instalar el paquete NuGet IronPdf. Para ello, ejecute el siguiente comando en la consola del gestor de paquetes de su proyecto:

Install-Package IronPdf

También puede buscar "IronPDF" en el gestor de paquetes NuGet e instalarlo desde allí.

Creación de un PDF a partir de un C#

Una vez instalado IronPDF, puede crear un archivo PDF a partir de un HTML cadena multilínea en unas pocas líneas de código. Aquí tienes un ejemplo de cómo hacerlo:

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>";

//  Crear un nuevo documento PDF
var pdfDocument = new IronPdf.ChromePdfRenderer();
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf");
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>";

//  Crear un nuevo documento PDF
var pdfDocument = new IronPdf.ChromePdfRenderer();
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf");
Dim name As String = "John"
Dim age As String = "25"
Dim content As String = $"<!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>"

'  Crear un nuevo documento PDF
Dim pdfDocument = New IronPdf.ChromePdfRenderer()
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf")
VB   C#

Cadena multilínea C# (Cómo Funciona Para Desarrolladores) Figura 1 - Documento PDF

En este ejemplo, hemos utilizado la interpolación de cadenas para incluir las variables nombre y edad dentro de nuestra cadena multilínea, haciendo que nuestro contenido 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 la cadena multilínea en un documento PDF. Por último, guardamos el documento PDF en un archivo llamado "BioData.pdf".

Conclusión

A lo largo de este tutorial, hemos explorado el versátil mundo de las cadenas multilínea de C# y hemos aprendido a crearlas, manipularlas y darles formato con eficacia. Además, hemos descubierto cómo integrar C#

IronPDF ofrece un prueba gratuita lo que le permite probar sus capacidades antes de comprometerse a una licencia, que comienza a partir de $749.

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

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123