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 Zeichenketten 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 Zeichenketten werden mit dem Symbol @ eingeleitet und ermöglichen es uns, Zeilenumbrüche, Sonderzeichen und sogar Leerzeichen ohne Verwendung von Escape-Sequenzen einzufügen.

Hier ist ein Beispiel für eine mehrzeilige Zeichenfolge mit einem wörtlichen String:

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 Zeichenkette str enthält drei Zeilen, wobei jede Zeile durch einen Zeilenumbruch getrennt ist. Beachten Sie die Verwendung des Symbols @ zur Erstellung der wörtlichen Zeichenkette.

Escape-Zeichen 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 Zeichenkette str das Wort "multiline" in doppelten Anführungszeichen, was durch die Verwendung von doppelten doppelten Anführungszeichen innerhalb der unveränderten Zeichenkette erreicht wird.

Verkettung mehrzeiliger Zeichenketten

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

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 Zeichenkette mit der einzeiligen Zeichenkette name verkettet.

Formatierung mehrzeiliger Zeichenfolgen

Beim Arbeiten mit mehrzeiligen Zeichenfolgen können Sie diese mit Variablen oder Ausdrücken formatieren. Um eine mehrzeilige Zeichenkette zu formatieren, können Sie das Symbol $ zur Zeichenketteninterpolation 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 String-Interpolation verwendet, um den Wert der Variable age in die mehrzeilige Zeichenkette 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 Methode Replace 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 Zeichenketten mithilfe des Operators + in mehrere Zeilen aufteilen.

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 Zeichenkette in drei Teile aufgeteilt und diese mit dem Operator + verkettet, wodurch der Code lesbarer wird.

Mehrzeilige String-Literale mit Raw String Literals erstellen

In C# 10 wurde eine neue Funktion namens rohe Zeichenfolgenliterale eingeführt. Diese ermöglichen es uns, mehrzeilige Zeichenkettenliterale zu erstellen, ohne das Symbol @ zu verwenden. Um ein Raw-String-Literal zu erstellen, schließen wir die Zeichenkette 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. Beachten Sie die Verwendung von dreifachen Anführungszeichen zur Einschließung der Zeichenkette.

Escape-Zeichen in rohen String-Literalen

Ä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

Wir haben doppelte Anführungszeichen im rohen Zeichenfolgenliteral durch doppelte doppelte Anführungszeichen eingefügt.

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 durch Verwendung des Symbols @ gefolgt von dreifachen Anführungszeichen erfolgen.

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 String-Interpolation verwendet, um die Variablen name und age in unsere mehrzeilige Zeichenkette einzufügen, wodurch unser PDF-Inhalt dynamisch und anpassbar wird. Wir haben eine mehrzeilige Zeichenfolge mit dem Inhalt erstellt, den wir im PDF haben wollten. Anschließend instanziierten wir die Klasse ChromePdfRenderer aus dem IronPDF Namensraum und verwendeten die Methode RenderHtmlAsPdf, um den mehrzeiligen String-Inhalt in ein PDF-Dokument umzuwandeln. 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, erhalten Sie eine IronPDF-Lizenz bereits ab $999 . 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 Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO ...

Weiterlesen

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an