¿Cuál es la diferencia entre dos, si hay alguno (con respecto a .Net)?Diferencia entre " n" y Environment.NewLine
Respuesta
Depende de la plataforma. En Windows, en realidad es "\ r \ n".
De MSDN:
Una cadena que contiene "\ r \ n" para plataformas no Unix, o una cadena que contienen "\ n" para plataformas Unix.
Environment.NewLine dará "\ r \ n" cuando se ejecute en Windows. Si está generando cadenas para entornos basados en Unix, no desea la "\ r".
Environment.NewLine
devolverá el carácter de nueva línea para la plataforma correspondiente en el que el código se ejecuta
encontrará esto muy útil cuando se implementa el código en Linux en el Mono marco
Como otros han mencionado, Environment.NewLine
devuelve una cadena específica de la plataforma para el comienzo de una nueva línea, que debe ser:
"\r\n"
(\ u000d \ u000A) para Windows"\n"
(\ u000A) para Unix"\r"
(\ u000d) para Mac (si existiera dicha aplicación)
Tenga en cuenta que cuando se escribe en la consola, Environment.NewLine no es estrictamente necesario. La secuencia de la consola traducirá "\n"
a la secuencia apropiada de la nueva línea, si es necesario.
La implementación de Mac existe. Solo mono Se ejecuta en cualquier cosa. – Dykam
Solo una nota, que serían viejos Mac; los nuevos (OSX) macs usan '\ n' –
@Dykam, sí, pero funciona muy lento como en mi HP48gx – cod3monk3y
Puede tener problemas cuando intenta mostrar mensajes de varias líneas separados por "\ r \ n".
Siempre es una buena práctica para hacer las cosas de una manera estándar, y utilizar Environment.NewLine
aplicación exacta de Environment.NewLine
a partir del código fuente:
La implementación en .NET 4.6.1:
/*===================================NewLine====================================
**Action: A property which returns the appropriate newline string for the given
** platform.
**Returns: \r\n on Win32.
**Arguments: None.
**Exceptions: None.
==============================================================================*/
public static String NewLine {
get {
Contract.Ensures(Contract.Result<String>() != null);
return "\r\n";
}
}
La implementación en.Core NET:
/*===================================NewLine====================================
**Action: A property which returns the appropriate newline string for the
** given platform.
**Returns: \r\n on Win32.
**Arguments: None.
**Exceptions: None.
==============================================================================*/
public static String NewLine {
get {
Contract.Ensures(Contract.Result() != null);
#if !PLATFORM_UNIX
return "\r\n";
#else
return "\n";
#endif // !PLATFORM_UNIX
}
}
source (en System.Private.CoreLib
)
public static string NewLine => "\r\n";
source (en System.Runtime.Extensions
)
¿Alguien más esperaba un código tan simple? : D – developerbmw
El código fuente nunca miente :) – aloisdg
sí :) Por alguna razón esperaba que la implementación de .NET fuera una función enormemente complicada – developerbmw
- 1. diferencia entre \ ry \ n
- 2. Diferencia entre array [n] y array []?
- 3. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 4. ¿Cuál es la diferencia entre \ n y \ r \ n?
- 5. diferencia entre PHP \ r \ n \ n
- 6. ¿Cuál es la diferencia entre '\ n' o "\ n" en C++?
- 7. ¿Cuál es la diferencia entre \ r y \ n?
- 8. ¿Cuál es la diferencia entre \ n y \ r?
- 9. Diferencia entre O (n) y O (log (n)) - ¿cuál es mejor y qué es exactamente O (log (n))?
- 10. ¿Cuál es la diferencia entre alloca (n) y char x [n]?
- 11. En C#, ¿cuál es la diferencia entre \ n y \ r \ n?
- 12. LINQ - La diferencia entre .Select (n => n.Name) y .Select (n => new {n.Name});
- 13. vbCrLF o Environment.NewLine
- 14. Diferencia entre strncpy y memcpy?
- 15. Diferencia entre borrar y eliminar
- 16. Diferencia entre C: y C:/
- 17. Diferencia entre RSCRIPT y Littler
- 18. MySQL: diferencia entre ', `,' y"
- 19. Diferencia entre objeto y *?
- 20. Diferencia entre. y #
- 21. ¿Diferencia entre == y caso?
- 22. La diferencia entre $ * y $ @
- 23. Diferencia entre & y &
- 24. Diferencia entre LIST_HEAD_INIT y INIT_LIST_HEAD
- 25. VBA: Diferencia entre y y +
- 26. Diferencia b/n Objetivo C y C++ es esto?
- 27. Las diferencias entre TCP y Retroceso N
- 28. diferencia entre pthread_spinlock y boost :: smart_ptr :: spinlock?
- 29. ¿Por qué Silverlight TextBox usa \ r para una línea nueva en lugar de Environment.Newline (\ r \ n)?
- 30. diferencia entre Seleccionar y donde en LINQ
Qué plataforma UNIX qué .NET de ejecución para Microsoft puso en su doc? (Es decir, una parte de Mono.) – Jack
@Jack Podría estar escribiendo en un archivo que se abrirá en la plataforma Unix. O enviando texto en paquete que será recibido por una plataforma de Unix. Y en unos pocos meses .net se ejecutará en plataformas Unix. Ya ha comenzado –