Метод String.Trim () возвращает строку, представляющую обновленную строку. Он не обновляет сам строковый объект, а создает новый.
Вы можете сделать это:
s = s.Trim();
Однако вы не можете обновить коллекцию при перечислении через нее, поэтому вам нужно либо заполнить новый список, перечисляя существующий, либо заполнить список вручную, используя строковый массив, возвращаемый String.Split.
Заполнение нового списка:
List<string> temp = new List<string>("a, b".Split(",".ToCharArray()));
List<string> listFromSplit = new List<string>();
temp.ForEach(delegate(string s)
{
listFromSplit.Add(s.Trim());
});
listFromSplit.Dump();
Заполнение вручную:
string[] temp = "a, b".Split(",".ToCharArray());
List<string> listFromSplit = new List<string>();
foreach (string s in temp)
{
listFromSplit.Add(s.Trim());
};
listFromSplit.Dump();