Environment.NewLine. A newline on Windows equals "\r\n." To add newlines in a C# string, there are a couple options—and the best option may depend on your program.
Newline versions. There is a constant from the base class library and the actual string literal. We review these newline options.
Platform example. We can run "dotnet" programs through the command-line on Linux. With this platform, a NewLine is just 1 character, not 2 like on Windows.
using System;
class Program
{
static void Main()
{
// Run on Linux.
var result = Environment.NewLine.Length;
Console.WriteLine(result);
}
}1
Concat example. Here we need to create a string with a line break in the middle of it, which will form a 2-line string. We will use the Environment.NewLine constant for this.
Note NewLine is defined by .NET and could vary by platform. But it is unlikely to ever equal a different value.
using System;
class Program
{
static void Main()
{
// Use string concat to combine two literals with the newline constant.
string s = "First line" + Environment.NewLine + "Second line";
Console.WriteLine(s);
}
}First line
Second line
Literal example. You do not need to use Environment.NewLine as in the first example. You can use the "\r\n" constant directly—this may be a better choice.
Note This constant changes the IL generated. It is effective on Windows platforms and is (in practical aspects) the same.
using System;
class Program
{
static void Main()
{
// Concat literals.
string s = "One line" + "\r\n" + "Another line";
Console.WriteLine(s);
}
}One line
Another line
Implementation. Environment.NewLine is a constant property in .NET. And it could be tied to the current executing environment or platform.
Notes, IL. The above IL is generated when you use NewLine. The "get_" part indicates that the value is fetched from a property. This is inlined so has no performance penalty.
Note It is possible that a new character set could have another constant as a line break.
A summary. We used the Environment.NewLine constant in the C# language. Some developers find the Environment.NewLine constant has more clarity in their code.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Jul 19, 2022 (edit).