Как удалить пробелы в элементах списка?

  • Автор темы Автор темы Monitor
  • Дата начала Дата начала

Monitor

Client
Регистрация
27.12.2016
Сообщения
61
Реакции
37
Баллы
18
Есть список, который создан из строки. Нужно в списке удалить пробелы в начале и в конце элемента, а также пустые элементы.
Делаю так:
C#:
Развернуть Свернуть Копировать
List<string> ListProducts = new List<string>();
List<string> ListTemp = new List<string>();
string sss = "111, 222, 111,33 33, 33 33, ,11";
ListTemp = sss.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
ListTemp.ForEach(s => ListProducts.Add(s.Trim()));       
ListProducts = ListProducts.Distinct().ToList();   
for (int a = 0; a < ListProducts.Count; a++) {
    if (String.IsNullOrEmpty(ListProducts.ElementAt(a))) ListProducts.RemoveAt(a);
}
Все работает, но может кто-нибудь подскажет более изящное решение?
 
C#:
Развернуть Свернуть Копировать
List<string> ListProducts = new List<string>();

string sss = "111, 222, 111,33 33, 33 33, ,11";

sss.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
    .Where(s => !string.IsNullOrWhiteSpace(s))
    .ToList()
    .ForEach(s => ListProducts.Add(s.Trim()));
 
  • Оценить
Реакции: Monitor
C#:
Развернуть Свернуть Копировать
List<string> ListProducts = new List<string>();

string sss = "111, 222, 111,33 33, 33 33, ,11";

sss.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
    .Where(s => !string.IsNullOrWhiteSpace(s))
    .ToList()
    .ForEach(s => ListProducts.Add(s.Trim()));
Благодарю.
Забыл написать: нужно еще чтобы дубликаты удалялись, но после того, как убрали пробелы.
Т.е. в результате список такой должен получиться: {"111","222","33 33","11"}
Как тогда будет выглядеть код?
 
C#:
Развернуть Свернуть Копировать
List<string> ListProducts = new List<string>();
string sss = "111, 222, 111,33 33, 33 33, ,11";

sss.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
    .Where(s => !string.IsNullOrWhiteSpace(s))
    .ToList()
    .ForEach(s => ListProducts.Add(s.Trim()));

HashSet<string> doubleDel = new HashSet<string>(ListProducts);
ListProducts.Clear();
ListProducts.AddRange(doubleDel);
 
  • Оценить
Реакции: iBotovod и Monitor

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)