Чистая эффективность скорости, тогда первое победит, тем более что второе не может быть сделано const
, а затем не может быть скомпилировано.
Тем не менее, второе будет очень чертовски быстрымна самом деле, мне все равно.
Гораздо важнее то, что это просто не одно и то же.
Все сводится к тому, «почему вы используете \ r \ n \ t"?
Если вы используете \ r \ n \ t, потому что вы в Windows, а в Windows символы новой строки обычно \ r \ n, то вам определенно следует использовать:
internal static readonly string segment = Environment.NewLine + "\t";
Использование другого будет неправильным и может привести к ошибкам, которые вы не увидите в течение многих лет.
Если вы используете \ r \ n, потому что работаете со спецификацией, которая говорит "отдельные сегменты"с CRLF, за которым следует вкладка ", тогда вам непременно следует использовать:
internal const string segment = "\r\n\t";
Использование другого было бы неправильным.
Это то, что действительно кусает людей по-настоящему.Пользователи Windows пишут HTTP-код, который просто использует новую строку Windows между заголовками два между заголовками и телом.Затем он переносится куда-то, где символ новой строки равен \ n, и прерывается, потому что HTTP передает мандат \ r \ n независимо от того, какую систему использует.То же самое применяется и наоборот.
(В соответствии со строгим / разрешающим принципом, также может быть хорошей идеей предположить, что другой код будет продолжать ошибаться, и принять все различные формы новой строки изесть).