Определите, является ли строка новой строкой в ​​C # - PullRequest
4 голосов
/ 30 апреля 2010

Я почему-то не могу определить, является ли строка новой строкой или нет. Строка, которую я использую, читается из файла, написанного Ultraedit с использованием DOS Terminators CR / LF. Я предполагаю, что это будет равно "\ r \ n" или Environment.NewLine в C #. Тем не менее, когда я выполняю сравнение, подобное этому, оно всегда возвращает false:

if(str==Environment.NewLine)

Кто-нибудь знает, что здесь происходит?

Ответы [ 4 ]

7 голосов
/ 30 апреля 2010

Как читаются строки? Если вы используете StreamReader.ReadLine (или что-то подобное), символ новой строки не будет отображаться в результирующей строке - это будет String.Empty или (т.е. "").

4 голосов
/ 30 апреля 2010

Вы уверены, что вся строка содержит только NewLine и ничего более или менее? Вы уже пробовали str.Contains(Environment.NewLine)?

2 голосов
/ 30 апреля 2010

Новая строка - "\ r \ n", а не "/ r / n". Может быть, есть нечто большее, чем просто новая строка .... что такое строковое значение в режиме отладки?

Вы можете использовать новый метод .NET 4.0: String.IsNullOrWhiteSpace

1 голос
/ 30 апреля 2010

Самым очевидным шагом устранения неполадок будет проверка значения str на самом деле. Просто просмотрите его в отладчике или распечатайте.

...