177 votes

Comment insérer une nouvelle ligne dans une chaîne littérale ?

En .NET, je peux fournir à la fois \r ou \n littéraux de chaîne, mais il existe un moyen d'insérer quelque chose comme un caractère spécial "nouvelle ligne" comme Environment.NewLine propriété statique ?

9 votes

Quelle est la question ?

2voto

wizard07KSU Points 56

Si vous voulez vraiment que la chaîne New Line soit une constante, vous pouvez faire ceci :

public readonly string myVar = Environment.NewLine;

L'utilisation du mot clé readonly en C# signifie que cette variable ne peut être affectée qu'une seule fois. Vous pouvez trouver la documentation à ce sujet ici . Il permet la déclaration d'une variable constante dont la valeur n'est pas connue avant l'exécution.

1voto

static class MyClass
{
   public const string NewLine="\n";
}

string x = "first line" + MyClass.NewLine + "second line"

3 votes

-1 : Le système définit déjà Environment.NewLine -- voir les autres réponses.

0 votes

@Richard : L'OP, d'après ce que j'ai pu comprendre, veut utiliser une chaîne littérale soulignée, c'est à dire const string

0 votes

@Richard Environment.NewLine est statique et non constant

1voto

Charles F Points 1

Si je comprends bien la question : Couple "\r\n" pour obtenir cette nouvelle ligne en dessous dans un textbox . Mon exemple a fonctionné -

   string s1 = comboBox1.Text;     // s1 is the variable assigned to box 1, etc.
   string s2 = comboBox2.Text;

   string both = s1 + "\r\n" + s2;
   textBox1.Text = both;

Une réponse typique pourrait être s1 s2 dans le text box en utilisant le style de type défini.

1voto

DanielK Points 33

Les versions récentes de .net vous permettent d'utiliser $ devant le littéral, ce qui vous permet d'utiliser des variables à l'intérieur comme suit :

var x = $"Line 1{Environment.NewLine}Line 2{Environment.NewLine}Line 3";

1 votes

Un peu de contexte ne serait pas de refus.

1 votes

Cela n'apporte pas de réponse à la question. Une fois que vous avez suffisamment de réputation vous pourrez commenter un article ; au lieu de cela, fournir des réponses qui ne nécessitent pas d'éclaircissement de la part de l'auteur de la demande . - De la revue

1 votes

@H.Pauwelyn : Merci pour vos commentaires. J'ai ajouté un peu de contexte. De mon point de vue, la solution répond définitivement à la question.

1voto

Tejas Bagade Points 127

Si vous travaillez avec une application Web, vous pouvez essayer ceci.

StringBuilder sb = new StringBuilder();
sb.AppendLine("Some text with line one");
sb.AppendLine("Some mpre text with line two");
MyLabel.Text = sb.ToString().Replace(Environment.NewLine, "<br />")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X