Qual é a diferença entre dois, se houver (com relação ao .Net)?
c#
.net
cross-platform
Prerak K
fonte
fonte
Environment.NewLine
é,\r\n
mas\n
também é chamado de "nova linha". Por que eles não chamaram o último pelo seu nome mais conhecido "feed de linha" e eliminaram a confusão? Eles poderiam ter usado\l
também.Implementação exata do
Environment.NewLine
código fonte:A implementação no .NET 4.6.1:
fonte
A implementação no .NET Core:
fonte (pol
System.Private.CoreLib
)fonte (pol
System.Runtime.Extensions
)fonte
Como outros já mencionaram,
Environment.NewLine
retorna uma string específica da plataforma para iniciar uma nova linha, que deve ser:"\r\n"
(\ u000D \ u000A) para Windows"\n"
(\ u000A) para Unix"\r"
(\ u000D) para Mac (se essa implementação existir)Observe que, ao gravar no console, o Environment.NewLine não é estritamente necessário. O fluxo do console será convertido
"\n"
para a sequência de nova linha apropriada, se necessário.fonte
\n
Environment.NewLine
retornará o caractere de nova linha para a plataforma correspondente na qual seu código está sendo executadovocê achará isso muito útil quando implantar seu código no linux no framework Mono
fonte
Dos documentos ...
fonte
Environment.NewLine fornecerá "\ r \ n" quando executado no Windows. Se você está gerando strings para ambientes baseados em Unix, não deseja o "\ r".
fonte
Você pode ter problemas ao tentar exibir mensagens de várias linhas separadas por "\ r \ n".
É sempre uma boa prática fazer as coisas de maneira padrão e usar o Environment.NewLine
fonte