C #: выяснить, является ли последний элемент в списке <string>возврат каретки? - PullRequest
0 голосов
/ 30 июня 2011

Логика, которую я пытаюсь использовать, такова:
1. Посмотрите на последний элемент списка
2. Если это новая строка (возврат каретки), удалите ее

        int stringLength = mailingList.Count;

        if (mailingList[stringLength - 1].Equals(Environment.NewLine))
        {
            //mailingList.RemoveAt(stringLength - 1);
            txtOutput.Text = "exists";
        }

        else
        {
            txtOutput.Text = "does not exist";
        }

Но что бы я ни использовал, я не могу заставить это работать. Я также пытался использовать:

if (mailingList[stringLength - 1] == "\r\n")

И это тоже не работает. Из моего выходного тестирования я продолжаю получать "не существует".

Как определить, является ли последний элемент новой строкой или нет?

Любая помощь будет отличной!

Спасибо, Ray

Ответы [ 4 ]

4 голосов
/ 30 июня 2011

Ну, тогда последний элемент, вероятно, не новая строка.

Как вы получаете линии? Вы разделяете текстовое поле? Тогда вы не получите новые строки, вы получите пустую строку. Тогда вы должны сделать что-то вроде:

if (string.IsNullOrWhiteSpace(mailingList.LastOrDefault())

Что вы, вероятно, должны сделать перед тем, как убрать строки, это Обрезать текстовое поле.

1 голос
/ 30 июня 2011

Использовать LINQ

mailingList.LastOrDefault() == Environment.NewLine

это будет охватывать случай, если в списке нет элементов.

0 голосов
/ 30 июня 2011

Этот код

List<string> list = new List<string>();
list.Add(Environment.NewLine);
if (list[0].Equals(Environment.NewLine))
    System.Console.WriteLine("found newline");

печатает текст "найден перевод строки" на консоль.Поэтому я могу только заключить, что ваш список не содержит новой строки в последнем элементе.

Мы можем только догадываться, почему это происходит, потому что мы не можем видеть ваш код, который заполняет список.

0 голосов
/ 30 июня 2011

Некоторые системы используют только \n для перевода строки, некоторые даже используют только \r

http://en.wikipedia.org/wiki/Newline

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...