ECMA-334 C# Language Specification9.3.1: Line terminators |
Line terminators divide the characters of a C# source file into lines.
- new-line
- Carriage return character (U+000D)
- Line feed character (U+000A)
- Carriage return character (U+000D) followed by line feed character (U+000A)
- Line separator character (U+2028)
- Paragraph separator character (U+2029)
For compatibility with source code editing tools that add end-of-file markers, and to enable a source file to be viewed as a sequence of properly terminated lines, the following transformations are applied, in order, to every source file in a C# program:
- If the last character of the source file is a Control-Z character (U+001A), this character is deleted.
- A carriage-return character (U+000D) is added to the end of the source file if that source file is non-empty and if the last character of the source file is not a carriage return (U+000D), a line feed (U+000A), a line separator (U+2028), or a paragraph separator (U+2029).