En C #, ¿cuál es la diferencia entre \n
y \r\n
?
Respuestas
¿Demasiados anuncios?\n
es Unix, \r
es Mac, \r\n
es Windows.
A veces puede causar problemas, especialmente al ejecutar código en diferentes plataformas. Puedes evitar esto usando Environment.NewLine
.
Por favor consulta ¿Cuál es la diferencia entre \r, \n y \r\n ?! para más información. ¡Feliz lectura!
La Diferencia
Existen algunos caracteres que pueden indicar una nueva línea. Los más comunes son estos dos:
* '\n' o '0x0A' (10 en decimal) -> Este carácter se llama "Avance de línea" (LF).
* '\r' o '0x0D' (13 en decimal) -> Este se llama "Retorno de carro" (CR).
Los diferentes Sistemas Operativos manejan las nuevas líneas de manera diferente. Aquí hay una lista corta de los más comunes:
* DOS y Windows
Ellos esperan que una nueva línea sea la combinación de dos caracteres, es decir '\r\n' (o 13 seguido de 10).
* Unix (y por ende Linux también)
Unix utiliza solo '\n' para indicar una nueva línea.
* Mac
Mac utiliza solo '\r'
.
Tomado de Aquí
\n = LF (Avance de línea) // Se utiliza como un carácter de nueva línea en Unix
\r = CR (Retorno de carro) // Se utiliza como un carácter de nueva línea en Mac
\r\n = CR + LF // Se utiliza como un carácter de nueva línea en Windows
(char)13 = \r = CR
Environment.NewLine = cualquiera de los códigos anteriores basado en el sistema operativo
// .NET proporciona la clase Environment que proporciona muchos datos basados en los sistemas operativos, por lo que si la aplicación se construye en Windows y utilizas CR + LF ("\n\r" en lugar de Environment.NewLine) como el carácter de nueva línea en tus cadenas, luego Microsoft crea una máquina virtual para ejecutar aplicaciones .NET en Unix, entonces habrá problema. Así que siempre debes usar Environment.NewLine cuando desees un carácter de nueva línea. Ahora no necesitas preocuparte por el sistema operativo.
- Ver respuestas anteriores
- Ver más respuestas