Forum Pplware

Versão Completa: [C#] Pequena dúvida sobre texto
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Boas, recentemente pesquisei sobre formatação de texto em C# e deparei-me com uma situação: Qual a diferença entre "\n\r", "\n" e "\r"?

Pelo que pesquisei, "\n\r" é a forma típica de dar um parágrafo para windows
\n -> Mesmo, mas para Unix
\r -> MAC

Mas, não consegui obter nenhum tipo de problema ao utilizar qualquer um deles no windows... Funcionou normalmente, sem qualquer problema... Linguagem evoluiu e deixaram esse "pormenor" para trás? Ou existe mesmo alguma função diferente? (Se existe, não encontrei xD)


Nota: Sim, eu sei que a pergunta é meio sem nexo, mas dúvidas são dúvidas Tongue
As razões das três terminações actualmente são mais históricas que outra coisa. Os caracteres \n e \r têm a sua origem nas tele-impressoras e significam, respectivamente, nova linha e retorno do carro (cabeça de impressão). Seguindo esta ideia, o terminador mais "lógico" seria sem dúvida o \n\r ou seja o carro avança para a próxima linha e depois retorna à posição inicial da linha, de modo a estar pronto para imprimir. Não sei dizer o porquê dos sistemas *nix usarem o \n e os Mac o \r, mas talvez uma pesquisa pela Wikipedia te possa elucidar melhor.

A maior parte dos programas consegue determinar e lidar com os vários tipos de terminação de linha, embora haja obviamente excepções (uma excepção que não sei se ainda se mantem assim é o notepad no windows).

Normalmente, o indicado a fazer é usar a terminação normal do sistema em que o ficheiro é criado. A partir daí, tudo depende do uso que pretendas dar ao ficheiro.
Aqui está uma explicação +/- simples disso e até de mais coisas:
http://www.hanselman.com/blog/YoureJustA...eWall.aspx
Em C# para evitares esses dilemas, podes sempre usar o Environment.NewLine e ele assim usa a terminação de linha mais indicada para o sistema onde o teu código está a correr. Wink
URL's de Referência