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

Monitor

Client
Регистрация
27.12.2016
Сообщения
62
Благодарностей
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);
}
Все работает, но может кто-нибудь подскажет более изящное решение?
 

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
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

Monitor

Client
Регистрация
27.12.2016
Сообщения
62
Благодарностей
37
Баллы
18
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"}
Как тогда будет выглядеть код?
 

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
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

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