Zum Fußzeileninhalt springen
.NET HILFE

C# Mehrzeilige Zeichenfolge (Wie es für Entwickler funktioniert)

Wenn Sie mit C# anfangen, sind Zeichenfolgen eines der frühesten Konzepte, die Sie lernen. Wenn Sie jemals ein Hello, World! Programm zusammengestellt haben, dann haben Sie bereits mit Zeichenfolgen gearbeitet.

Wenn Sie sich mit C# vertrauter machen, werden Ihre Programme komplexer. Schon bald werden Sie mit Zeichenfolgen arbeiten, die sich über mehrere Zeilen erstrecken. Wenn Sie jetzt an diesem Punkt sind, haben Sie Glück, denn in diesem Leitfaden erklären wir, was mehrzeilige Zeichenfolgen sind und wie sie verwendet werden. Lassen Sie uns eintauchen.

Was ist eine mehrzeilige Zeichenfolge?

Mehrzeilige Zeichenfolgen sind genau das, wonach sie klingen - eine Zeichenfolge, die sich über mehrere Zeilen erstreckt, im Gegensatz zur üblichen einzeiligen Zeichenfolge. Eine mehrzeilige Zeichenfolge in C# wird durch Zeichenfolgenliterale erstellt, die eine Reihe von Zeichen sind, die in Anführungszeichen eingeschlossen sind. Um mehrzeilige Strings zu bilden, müssen wir einen speziellen Typ von String-Literalen verwenden, der als verbatim String-Literale bezeichnet wird.

Die Magie von Verbatim Strings

Um ein mehrzeiliges Zeichenfolgenliteral in C# zu erstellen, verwenden wir wörtliche Zeichenfolgen. Wörtliche Zeichenfolgen werden mit dem @-Symbol versehen und erlauben es uns, Zeilenumbrüche, Sonderzeichen und sogar Leerzeichen ohne Escape-Sequenzen einzufügen.

Lassen Sie uns grundlegende mathematische Funktionen in C# betrachten:

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#."
$vbLabelText   $csharpLabel

Die Zeichenfolge str enthält drei Zeilen, und jede Zeile wird durch einen Zeilenumbruch getrennt. Beachten Sie die Verwendung des @-Symbols zur Erstellung der wörtlichen Zeichenfolge.

Zeichenentfernung in wörtlichen Zeichenfolgen

Es kann Fälle geben, in denen Sie Anführungszeichen innerhalb einer wörtlichen Zeichenfolge einfügen müssen. Um dies zu tun, müssen Sie doppelte Anführungszeichen verwenden. Zum Beispiel:

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#."
$vbLabelText   $csharpLabel

In diesem Beispiel enthält die Zeichenfolge str das Wort "mehrzeilig" in Anführungszeichen, welches durch die Verwendung von doppelten Anführungszeichen innerhalb der wörtlichen Zeichenfolge erreicht wird.

Verkettung mehrzeiliger Zeichenketten

Sie müssen möglicherweise oft mehrzeilige Zeichenfolgen mit anderen Zeichenfolgen oder Werten kombinieren. Um eine mehrzeilige Zeichenfolge mit anderen Zeichenfolgenwerten zu verketten, können Sie den +-Operator verwenden, genau wie bei einzeiligen Zeichenfolgen.

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!"
$vbLabelText   $csharpLabel

Hier haben wir die mehrzeilige Zeichenfolge mit einer einzeiligen Zeichenfolge name verkettet.

Formatierung mehrzeiliger Zeichenfolgen

Beim Arbeiten mit mehrzeiligen Zeichenfolgen können Sie diese mit Variablen oder Ausdrücken formatieren. Um eine mehrzeilige Zeichenfolge zu formatieren, können Sie das $-Symbol für die Zeichenfolgeninterpolation verwenden.

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!"
$vbLabelText   $csharpLabel

Wir haben die Zeichenfolgeninterpolation verwendet, um den Wert der Variable age innerhalb der mehrzeiligen Zeichenfolge einzufügen.

Mehrzeilige Zeichenfolgen in einzeilige Zeichenfolgen umwandeln

Manchmal müssen Sie mehrzeilige Zeichenfolgen in einzeilige Zeichenfolgen umwandeln. Um dies zu erreichen, können Sie die Replace-Methode verwenden, um Zeilenumbrüche durch ein Leerzeichen oder ein anderes gewünschtes Zeichen zu ersetzen.

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, " ")
$vbLabelText   $csharpLabel

Wir haben die Zeilenumbrüche in der mehrzeiligen Zeichenfolge durch ein Leerzeichen ersetzt, wodurch eine einzeilige Zeichenfolge entstand.

Behandlung langer Zeichenfolgen

Manchmal können sehr lange Zeichenfolgen in Ihrem Code schwer lesbar sein. Um den Code lesbarer zu machen, können Sie lange Zeichenfolgen in mehrere Zeilen aufteilen, indem Sie den +-Operator verwenden.

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."
$vbLabelText   $csharpLabel

Wir haben die lange einzeilige Zeichenfolge in drei Teile aufgeteilt und mit dem +-Operator verkettet, um den Code lesbarer zu machen.

Mehrzeilige String-Literale mit Raw String Literals erstellen

In C# 10 wurde eine neue Funktion namens rohe Zeichenfolgenliterale eingeführt. Diese ermöglichen es, mehrzeilige Zeichenfolgenliterale zu erstellen, ohne das @-Symbol zu verwenden. Um ein rohes Zeichenfolgenliteral zu erstellen, schließen wir die Zeichenfolge in dreifache Anführungszeichen (""") ein. Rohe Zeichenfolgenliterale bewahren alle Zeichen, einschließlich Zeilenumbrüchen, innerhalb der dreifachen Anführungszeichen. Zum Beispiel:

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."""
$vbLabelText   $csharpLabel

Wir haben einen mehrzeiligen String mit rohen String-Literalen erstellt. Um mehrzeilige Strings zu bilden, verwenden wir wörtliche Zeichenfolgenliterale.

Zeichen aus rohen String-Literalen entfernen

Ähnlich wie bei wörtlichen Zeichenfolgen müssen wir möglicherweise Anführungszeichen innerhalb unserer rohen Zeichenfolgenliterale einfügen. Um dies zu tun, können wir doppelte Anführungszeichen verwenden. Zum Beispiel:

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."""
$vbLabelText   $csharpLabel

Hier ist ein Beispiel für eine mehrzeilige wörtliche Zeichenfolge:

Kombinieren von wörtlichen und unbearbeiteten Zeichenfolgen

In einigen Fällen möchten wir möglicherweise die Merkmale sowohl von wörtlichen als auch von rohen Zeichenfolgenliteralen kombinieren. Dies kann erreicht werden, indem man das @-Symbol gefolgt von dreifachen Anführungszeichen verwendet.

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."""
$vbLabelText   $csharpLabel

In diesem Beispiel haben wir eine mehrzeilige Zeichenfolge unter Verwendung sowohl von verbatim als auch von raw String-Literalen erstellt. Beachten Sie die Verwendung des @-Symbols gefolgt von dreifachen Anführungszeichen.

Verwendung von mehrzeiligen Zeichenfolgen zur Erzeugung von PDFs in IronPDF

IronPDF ist eine leichtgewichtige .NET PDF-Bibliothek, die speziell für Webentwickler entwickelt wurde. Es macht das Lesen, Schreiben und Bearbeiten von PDF-Dateien zum Kinderspiel, kann alle Arten von Dateitypen in PDF-Inhalte konvertieren, und Sie können es in Ihren .NET-Projekten sowohl für Desktop- als auch Webanwendungen verwenden. Das Beste daran - es ist kostenlos in einer Entwicklungsumgebung auszuprobieren.

Hier ist, wie man eine mehrzeilige HTML-Zeichenfolge zur Erstellung einer PDF-Datei in IronPDF verwenden kann:

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

// Create a new PDF document using IronPDF
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>";

// Create a new PDF document using IronPDF
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>"

' Create a new PDF document using IronPDF
Dim pdfDocument = New IronPdf.ChromePdfRenderer()
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf")
$vbLabelText   $csharpLabel

In diesem Beispiel haben wir die Zeichenfolgeninterpolation verwendet, um die Variablen name und age innerhalb unserer mehrzeiligen Zeichenfolge einzuschließen, wodurch unser PDF-Inhalt dynamisch und anpassbar wird. Wir haben eine mehrzeilige Zeichenfolge mit dem Inhalt erstellt, den wir im PDF haben wollten. Wir haben dann die ChromePdfRenderer-Klasse aus dem IronPDF-Namespace instanziiert und die RenderHtmlAsPdf-Methode verwendet, um den mehrzeiligen Zeichenfolgeninhalt in ein PDF-Dokument zu konvertieren. Schließlich haben wir das PDF-Dokument in einer Datei namens "BioData.pdf" gespeichert.

Abschluss

Und das ist eine kurze Tour durch die vielseitige Welt der mehrzeiligen Zeichenfolgen. Jetzt sind Sie ein mehrzeiliger Zeichenfolgen-C#-Profi und können beginnen, sie in Ihren Projekten umzusetzen - wie das Beispiel oben mit IronPDF.

Möchten Sie IronPDF ausprobieren? Sie können mit unserer 30-tägigen kostenlosen Testversion von IronPDF beginnen. Es ist auch völlig kostenlos für Entwicklungszwecke, sodass Sie wirklich sehen können, woraus es besteht. Und wenn Ihnen gefällt, was Sie sehen, beginnt IronPDF schon bei $799 für eine IronPDF-Lizenz. Für noch größere Einsparungen schauen Sie sich das Iron Suite Paket an, bei dem Sie alle neun Iron Software-Tools zum Preis von zwei erhalten können. Viel Spaß beim Coden!

Csharp Multiline String 2 related to Abschluss

Häufig gestellte Fragen

Wie können Sie eine mehrzeilige Zeichenfolge in C# erstellen?

In C# können Sie eine mehrzeilige Zeichenfolge mithilfe von wörtlichen Zeichenfolgen erstellen, indem Sie der Zeichenfolge das '@'-Symbol voranstellen. Dadurch können Sie Zeilenumbrüche und Sonderzeichen direkt in der Zeichenfolge einfügen.

Was ist der Zweck der Verwendung von wörtlichen Zeichenfolgen in C#?

Wörtliche Zeichenfolgen in C# werden verwendet, um Zeichenfolgen zu erstellen, die Zeilenumbrüche und Sonderzeichen ohne Escape-Sequenzen behalten. Sie werden durch das '@'-Symbol angegeben und sind ideal zum Schreiben von mehrzeiligen Zeichenfolgen.

Wie handhaben Sie Sonderzeichen wie Anführungszeichen in wörtlichen Zeichenfolgen?

In wörtlichen Zeichenfolgen können Sie Anführungszeichen einschließen, indem Sie doppelte Anführungszeichen verwenden. Beispiel: '@"Dies ist eine ""mehrzeilige"" Zeichenfolge."' erlaubt es Ihnen, Anführungszeichen innerhalb der Zeichenfolge einzufügen.

Was sind rohe Zeichenfolgen in C# 10 und wie funktionieren sie?

Rohe Zeichenfolgen, die in C# 10 eingeführt wurden, ermöglichen die Erstellung von mehrzeiligen Zeichenfolgen ohne das '@'-Symbol. Sie werden mit dreifachen Anführungszeichen eingeschlossen und behalten alle Zeichen, einschließlich Zeilenumbrüche, genau so, wie sie erscheinen.

Wie können mehrzeilige Zeichenfolgen bei der PDF-Erstellung verwendet werden?

Mehrzeilige Zeichenfolgen können verwendet werden, um dynamische Inhalte im HTML-Format zu erstellen, die dann mit Bibliotheken wie IronPDF, die die Umwandlung von HTML in PDF unterstützen, in PDF-Dokumente konvertiert werden können.

Was ist Zeichenfolgeninterpolation und wie wird sie auf mehrzeilige Zeichenfolgen angewendet?

Zeichenfolgeninterpolation in C# ermöglicht das Einbetten von Variablen oder Ausdrücken innerhalb von Zeichenfolgen mit dem '$'-Symbol. Sie kann mit mehrzeiligen Zeichenfolgen verwendet werden, um dynamische Inhalte nahtlos einzufügen.

Wie konvertieren Sie eine mehrzeilige Zeichenfolge in eine einzeilige Zeichenfolge in C#?

Um eine mehrzeilige Zeichenfolge in eine einzeilige Zeichenfolge zu konvertieren, können Sie die Replace-Methode verwenden, um Zeilenumbrüche durch Leerzeichen oder ein anderes Zeichen zu ersetzen. Beispiel: multilineString.Replace(Environment.NewLine, " ").

Warum sollten Entwickler Bibliotheken für die PDF-Erstellung in .NET-Anwendungen verwenden?

Bibliotheken, die für die PDF-Erstellung in .NET entwickelt wurden, wie IronPDF, vereinfachen den Prozess des Lesens, Schreibens und Manipulierens von PDFs. Sie unterstützen die Umwandlung verschiedener Dateitypen in PDFs und bieten ein leistungsfähiges Toolset für Desktop- und Webanwendungen.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen