Если вы хотите поддерживать символы новой строки для каждой платформы (например, вам нужно проанализировать входные файлы, созданные в Linux / Windows / Mac на вашем веб-сайте ASP.NET), и вы не переносите пустые строки, я предлагаем использовать этот метод вместо:
myString.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries)
Это вернет
["one","two","three"]
для входной строки
"one\r\ntwo\n\n\nthree"
Обновление:
Если вам нужно переносить пустые строки, вы можете использовать
myString.Replace("\r\n", "\n").Split("\n")
Это должно работать как для файлов EOL "\ r \ n", так и для "\ n".