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

Die Zeichenfolge str enthält drei Zeilen, und jede Zeile ist durch einen Zeilenumbruch getrennt. Beachten Sie die Verwendung des @ Symbols, um die wörtliche Zeichenfolge zu erstellen.

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

In diesem Beispiel enthält die Zeichenfolge str das Wort "multiline" in Anführungszeichen, was 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 verknüpfen, 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!";
$vbLabelText   $csharpLabel

Hier haben wir die mehrzeilige Zeichenfolge mit einer einzeiligen Zeichenfolge name verknüpft.

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

Wir haben die Zeichenfolgeninterpolation verwendet, um den Wert der age Variable in die mehrzeilige 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, " ");
$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 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.";
$vbLabelText   $csharpLabel

Wir haben die lange einzeilige Zeichenfolge in drei Teile aufgeteilt und sie mithilfe des + Operators verknüpft, wodurch der Code lesbarer wurde.

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 Zeichenfolgenliteralien ohne das @ Symbol zu erstellen. 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.""";
$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.""";
$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 durch die Verwendung des @ Symbols gefolgt von dreifachen Anführungszeichen getan werden.

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

In diesem Beispiel haben wir die Zeichenfolgeninterpolation verwendet, um die name und age Variablen in unsere mehrzeilige Zeichenfolge aufzunehmen, 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 Namensraum instanziiert und die RenderHtmlAsPdf Methode verwendet, um den Inhalt der mehrzeiligen Zeichenfolge 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 ab $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 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

We're online 24 hours, 5 days a week.
Chat
Email
Call Me