Passer au contenu du pied de page
.NET AIDE

Chaîne multiligne en C# (Comment ça fonctionne pour les développeurs)

Lorsque vous commencez à apprendre C#, les chaînes de caractères sont l'un des premiers concepts que vous apprenez. Si vous avez déjà créé un programme Hello, World!, alors vous avez déjà travaillé avec des chaînes de caractères.

À mesure que vous vous familiarisez avec C#, vos programmes deviendront plus complexes. Très vite, vous commencerez à travailler avec des chaînes qui s'étendent sur plusieurs lignes. Si vous en êtes à ce stade maintenant, vous avez de la chance, car dans ce guide, nous allons expliquer ce que sont les chaînes multilignes et comment les utiliser. Plongeons-nous dedans.

Qu'est-ce qu'une chaîne multilignes ?

Les chaînes multilignes sont exactement ce qu'elles semblent être - une chaîne qui s'étend sur plusieurs lignes, contrastant avec la chaîne simple ligne habituelle. Une chaîne multilignes en C# est créée à l'aide de littéraux de chaînes, qui sont une série de caractères encadrés par des guillemets doubles. Pour former des chaînes multilignes, nous devons utiliser un type spécial de littéraux de chaînes appelé littéraux de chaînes verbatim.

La magie des chaînes Verbatim

Pour créer un littéral de chaîne multilignes en C#, nous utilisons des chaînes verbatim. Les chaînes verbatim sont précédées du symbole @ et nous permettent d'inclure des sauts de ligne, des caractères spéciaux, et même des espaces sans utiliser de séquences d'échappement.

Voici un exemple de chaîne multilignes utilisant une chaîne verbatim :

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

La chaîne str contient trois lignes, et chaque ligne est séparée par un saut de ligne. Remarquez l'utilisation du symbole @ pour créer la chaîne verbatim.

Échapper les caractères dans les chaînes verbatim

Il peut y avoir des cas où vous devez inclure des guillemets doubles dans une chaîne verbatim. Pour ce faire, vous devez utiliser des guillemets doubles-doubles. Par exemple :

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

Dans cet exemple, la chaîne str contient le mot "multilignes" encadré par des guillemets doubles, ce qui est réalisé en utilisant des guillemets doubles-doubles dans la chaîne verbatim.

Concaténer des chaînes multilignes

Il se peut que vous ayez souvent besoin de combiner des chaînes multilignes avec d'autres chaînes ou valeurs. Pour concaténer une chaîne multilignes avec d'autres valeurs de chaînes, vous pouvez utiliser l'opérateur +, comme vous le feriez avec des chaînes simples ligne.

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

Ici, nous avons concaténé la chaîne multilignes avec une chaîne simple ligne name.

Formater des chaînes multilignes

Lorsque vous travaillez avec des chaînes multilignes, vous pouvez les formater avec des variables ou des expressions. Pour formater une chaîne multilignes, vous pouvez utiliser le symbole $ pour l'interpolation de chaînes.

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

Nous avons utilisé l'interpolation de chaînes pour inclure la valeur de la variable age dans la chaîne multilignes.

Convertir des chaînes multilignes en chaînes simples ligne

Parfois, vous pouvez avoir besoin de convertir des chaînes multilignes en chaînes simples ligne. Pour y parvenir, vous pouvez utiliser la méthode Replace pour remplacer les sauts de ligne par un espace ou tout autre caractère désiré.

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

Nous avons remplacé les sauts de ligne dans la chaîne multilignes par un espace, ce qui a donné une chaîne simple ligne.

Gérer les longues chaînes

Parfois, les très longues chaînes peuvent être difficiles à lire dans votre code. Pour rendre le code plus lisible, vous pouvez diviser de longues chaînes en plusieurs lignes à l'aide de l'opérateur +.

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

Nous avons divisé la longue chaîne simple ligne en trois parties et les avons concaténées à l'aide de l'opérateur +, rendant le code plus lisible.

Créer des littéraux de chaîne multilignes avec des littéraux de chaîne bruts

Dans C# 10, une nouvelle fonctionnalité a été introduite, appelée littéraux de chaîne bruts. Ils nous permettent de créer des littéraux de chaîne multilignes sans utiliser le symbole @. Pour créer un littéral de chaîne brut, nous encadrons la chaîne par des triples guillemets ("""). Les littéraux de chaîne bruts conservent tous les caractères, y compris les sauts de ligne, à l'intérieur des triples guillemets. Par exemple :

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

Nous avons créé une chaîne multilignes en utilisant des littéraux de chaîne bruts. Remarquez l'utilisation des triples guillemets pour encadrer la chaîne.

Échapper les caractères dans les littéraux de chaîne bruts

Semblable aux chaînes verbatim, nous pourrions avoir besoin d'inclure des guillemets doubles dans nos littéraux de chaîne bruts. Pour cela, nous pouvons utiliser des guillemets doubles-doubles. Par exemple :

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

Nous avons inclus des guillemets doubles dans le littéral de chaîne brut en utilisant des guillemets doubles-doubles.

Combiner les littéraux de chaîne Verbatim et bruts

Dans certains cas, nous voudrions combiner les caractéristiques à la fois des littéraux de chaîne verbatim et bruts. Cela peut être fait en utilisant le symbole @ suivi par des triples guillemets.

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

Dans cet exemple, nous avons créé une chaîne multilignes en utilisant à la fois des littéraux de chaîne verbatim et bruts. Remarquez l'utilisation du symbole @ suivi par des triples guillemets.

Utiliser des chaînes multilignes pour générer des PDFs dans IronPDF

IronPDF est une bibliothèque PDF .NET légère conçue spécifiquement pour les développeurs web. Elle simplifie la lecture, l'écriture et la manipulation des fichiers PDF, capable de convertir toutes sortes de types de fichiers en contenu PDF, et vous pouvez l'utiliser dans vos projets .NET aussi bien pour le bureau que pour le web. La meilleure partie - elle est gratuite à essayer dans un environnement de développement.

Voici comment utiliser une chaîne multilignes HTML pour créer un fichier PDF dans 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>";

// 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

Dans cet exemple, nous avons utilisé l'interpolation de chaînes pour inclure les variables name et age dans notre chaîne multilignes, rendant notre contenu PDF dynamique et personnalisable. Nous avons créé une chaîne multilignes avec le contenu que nous voulions dans le PDF. Nous avons ensuite instancié la classe ChromePdfRenderer de l'espace de noms IronPDF et utilisé la méthode RenderHtmlAsPdf pour convertir le contenu de la chaîne multilignes en document PDF. Enfin, nous avons enregistré le document PDF dans un fichier appelé "BioData.pdf".

Conclusion

Et c'est un tour d'horizon du monde polyvalent des chaînes multilignes. Maintenant que vous êtes un pro des chaînes multilignes en C#, vous pouvez commencer à les intégrer dans vos projets - comme l'exemple avec IronPDF ci-dessus.

Vous cherchez à mettre la main sur IronPDF ? Vous pouvez commencer par notre essai gratuit de 30 jours d'IronPDF. C'est aussi totalement gratuit à utiliser à des fins de développement afin que vous puissiez vraiment voir ce dont il est fait. Et si vous aimez ce que vous voyez, IronPDF commence à partir de seulement $799 pour une licence IronPDF. Pour des économies encore plus importantes, consultez le pack Iron Suite où vous pouvez obtenir les neuf outils Iron Software pour le prix de deux. Bonne programmation !

Csharp Multiline String 2 related to Conclusion

Questions Fréquemment Posées

Comment pouvez-vous créer une chaîne multiligne en C#?

En C#, vous pouvez créer une chaîne multiligne en utilisant des littéraux de chaîne verbatim en préfixant la chaîne avec le symbole '@'. Cela vous permet d'inclure des sauts de ligne et des caractères spéciaux directement dans la chaîne.

Quel est le but d'utiliser des littéraux de chaîne verbatim en C#?

Les littéraux de chaîne verbatim en C# sont utilisés pour créer des chaînes qui conservent les sauts de ligne et les caractères spéciaux sans nécessiter de séquences d'échappement. Ils sont indiqués par le symbole '@', ce qui les rend idéaux pour écrire des chaînes multilignes.

Comment gérez-vous les caractères spéciaux comme les guillemets doubles dans les chaînes verbatim?

Dans les chaînes verbatim, vous pouvez inclure des guillemets doubles en utilisant des guillemets doubles doubles. Par exemple, '@"Ceci est une ""chaîne multiligne""."' vous permet d'inclure des guillemets doubles dans la chaîne.

Quels sont les littéraux de chaîne bruts dans C# 10 et comment fonctionnent-ils?

Les littéraux de chaîne bruts introduits dans C# 10 permettent de créer des chaînes multilignes sans utiliser le symbole '@'. Ils sont encadrés de triples guillemets et conservent tous les caractères, y compris les sauts de ligne, exactement tels qu'ils apparaissent.

Comment les chaînes multilignes peuvent-elles être utilisées dans la génération de PDF?

Les chaînes multilignes peuvent être utilisées pour créer du contenu dynamique au format HTML, qui peut ensuite être converti en documents PDF en utilisant des bibliothèques comme IronPDF qui supportent la conversion de HTML en PDF.

Qu'est-ce que l'interpolation de chaîne et comment est-elle appliquée aux chaînes multilignes?

L'interpolation de chaîne en C# permet d'insérer des variables ou des expressions dans des chaînes à l'aide du symbole '$'. Elle peut être utilisée avec des chaînes multilignes pour inclure facilement du contenu dynamique.

Comment convertir une chaîne multiligne en une chaîne sur une seule ligne en C#?

Pour convertir une chaîne multiligne en une chaîne sur une seule ligne, vous pouvez utiliser la méthode Replace pour remplacer les sauts de ligne par des espaces ou un autre caractère. Par exemple : multilineString.Replace(Environment.NewLine, " ").

Pourquoi les développeurs devraient-ils utiliser des bibliothèques pour la génération de PDF dans les applications .NET?

Les bibliothèques conçues pour la génération de PDF dans .NET, comme IronPDF, simplifient le processus de lecture, d'écriture et de manipulation de PDFs. Elles supportent la conversion de divers types de fichiers en PDFs, fournissant un ensemble d'outils puissants pour les applications de bureau et web.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite