HOWTO · Csharp

Ajouter une nouvelle ligne à une chaîne en C#

Découvrez trois façons d’ajouter un saut de ligne à une chaîne C# : utiliser `\n`, `Environment.NewLine` ou remplacer un marqueur précis dans un texte existant.

Sur cette page

Pour ajouter un saut de ligne dans une chaîne C#, insérez l’échappement de saut de ligne \n, utilisez Environment.NewLine pour l’environnement .NET actuel, ou remplacez un marqueur précis dans un texte existant. Choisissez la séquence qui correspond à la destination du texte ; un format de fichier ou un protocole réseau peut en imposer une particulière.

Ajouter un saut de ligne à une chaîne C# avec \n

L’échappement \n représente un caractère de saut de ligne (LF). Placez-le là où la ligne suivante doit commencer dans un littéral de chaîne. Il représente le caractère lui-même et ne choisit pas une convention de nouvelle ligne en fonction du système d’exploitation. L’échappement \r représente un retour chariot (CR) ; utilisez-le si le format de données exige CR, ou une paire CR/LF si ce format spécifie les deux caractères.

Exécutez cet exemple :

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

using System;

class Program
{
    static void Main()
    {
        string message = "First line.\nSecond line.";
        Console.WriteLine(message);
    }
}
First line.
Second line.

Cette méthode est utile lorsque vous contrôlez la chaîne et souhaitez insérer explicitement un LF. Si la chaîne doit être lue par un système qui exige une autre convention de nouvelle ligne, utilisez plutôt la séquence spécifiée par ce système.

Utiliser Environment.NewLine pour les sauts de ligne propres à la plateforme

Environment.NewLine fournit la séquence de nouvelle ligne de l’environnement .NET actuel. Utilisez-la pour créer du texte destiné à cet environnement, par exemple un fichier texte adapté à la plateforme. Elle ne détecte pas les exigences d’un format de fichier ou d’un protocole sans rapport. Si ces exigences imposent LF ou CR/LF, utilisez directement la séquence requise, même si elle diffère de la convention de l’environnement actuel. Consultez la documentation Microsoft sur Environment.NewLine.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

using System;

class Program
{
    static void Main()
    {
        string message = "First line." + Environment.NewLine + "Second line.";
        Console.WriteLine(message);
    }
}
First line.
Second line.

Console.WriteLine termine également sa sortie par un saut de ligne. La séquence intégrée sépare les deux parties de message ; le saut de ligne final est ajouté par la méthode de sortie.

Ajouter un saut de ligne après la création d’une chaîne

Les chaînes C# sont immuables : toute modification du texte produit une nouvelle chaîne. String.Replace() renvoie cette nouvelle valeur ; réaffectez-la à la variable pour conserver la modification. La méthode remplace chaque occurrence du marqueur indiqué : chaque <break> dans l’entrée devient donc un saut de ligne. Remplacer un marqueur précis est plus sûr que de remplacer chaque point, car les phrases ordinaires peuvent contenir une ponctuation à conserver. La documentation Microsoft existante sur String.Replace() décrit cette méthode.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

using System;

class Program
{
    static void Main()
    {
        string message = "First line.<break>Second line.";
        message = message.Replace("<break>", "\n");
        Console.WriteLine(message);
    }
}
First line.
Second line.

Choisissez un marqueur réservé à cet usage, qui ne puisse pas apparaître comme texte ordinaire. Si le remplacement doit suivre l’environnement actuel, remplacez-le par Environment.NewLine au lieu de \n. Pour un texte que vous composez vous-même, il est généralement plus simple d’insérer le saut de ligne souhaité dans la chaîne d’origine que de la modifier ensuite.

Ces trois approches couvrent les principales options : placer un LF dans un littéral, utiliser la séquence de l’environnement actuel ou convertir un marqueur réservé dans un texte existant. Le format ou le protocole de destination détermine toute exigence plus stricte concernant les nouvelles lignes ; établir une correspondance distincte entre plateformes et formats dépasse donc le cadre de cet article.