la eficiencia de velocidad pura entonces la primera va a ganar, sobre todo porque el segundo no se puede hacer const
y luego no puede ser compilado en.
Aún así, la segunda va a ser muy rápido de hecho maldito, por lo No me importaría
Mucho más importante es que estos simplemente no son lo mismo.
Todo se reduce a "¿por qué estás usando \ r \ n \ t"?
Si está utilizando \ r \ n \ t porque estás en Windows y en nuevas líneas de Windows normalmente \ r \ n, entonces definitivamente debe utilizar:
internal static readonly string segment = Environment.NewLine + "\t";
Con la otra sería mal, y podría introducir errores que no verá en los próximos años.
Si está utilizando \ r \ n porque se trabaja con una especificación que dice "segmentos separados con un CRLF seguido de una pestaña", entonces definitivamente deberían utilizar:
internal const string segment = "\r\n\t";
Utilizando el otro estaría mal.
Esto es algo que muerde a la gente de verdad.Las personas de Windows escriben código HTTP que simplemente usa una línea nueva de Windows entre los encabezados dos entre los encabezados y el cuerpo. Luego se traslada a un lugar donde la nueva línea está \ n y se rompe porque HTTP manda \ r \ n independientemente del sistema utilizado. Lo mismo aplica al revés.
(Según el principio estricto/permisivo, también puede ser una buena idea suponer que otro código continuará obteniendo este error, y aceptar todos los diversos formularios de nueva línea).
El segundo es mejor ya que es independiente de la plataforma –
¿Eficiente de esa manera? ¿Legibilidad? Velocidad pura? La portabilidad del sistema operativo? "\ r \ n \ t" probablemente le dará un rendimiento marginalmente mejor, pero puede no ser adecuado para todos los entornos, incluidos navegadores, Windows/Unix, etc.) –
@orn: por el contrario, el valor del segundo * depende absolutamente * en la plataforma. –