Удаление конечных пробелов с помощью TRIM()

Мне нужно получить элементы из списка без начальных или конечных пробелов. Я пытаюсь использовать следующий код, но функции Trim() не удаляют конечные пробелы строки. Почему это происходит?

  string ab = string.Empty;
            ab += "first" + ", ";//adding a white space to the string
            ab += "second" + ", ";
            ab += "third" + ", ";

            List<string> ls = ab.ToString().Split(',').ToList();//first, second, third,

            foreach (string item in ls)
            {
                item.Trim();//need to remove the space
                string a = item;//here still got the white space
            }

person chamara    schedule 23.03.2012    source источник


Ответы (3)


Trim возвращает строку, обрезанную от пробелов в начале и конце, поэтому вам нужно присвоить item.Trim() локальной переменной, которая затем будет вашей обрезанной строкой.

foreach (string item in ls)
{
    string trimmedItem = item.Trim(); //remove the space
    string a = trimmedItem;           //no white space here!
}
person KodeKreachor    schedule 23.03.2012

String.Trim() возвращает строку, которая остается после удаления всех пробельных символов из начала и конца текущего объекта System.String.

Поэтому вам нужно изменить код внутри цикла foreach на:

foreach (string item in ls) 
            { 
                string a = item.Trim();
            } 
person David Peden    schedule 23.03.2012

foreach (string item in ls)
{
    string a = item.Trim();
}

Если вы разделите ',' вместо ',' вам не нужно будет обрезать

person Zed    schedule 23.03.2012