将string转换为List <string>在一行中?
我有一个string:
var names = "Brian,Joe,Chris";
有没有办法将其转换为List<string>
,
在一行中分隔?
List<string> result = names.Split(new char[] { ',' }).ToList();
丹的build议甚至更清洁:
List<string> result = names.Split(',').ToList();
List<T>
有一个接受IEnumerable<T>
的构造函数:
List<string> listOfNames = new List<string>(names.Split(','));
我更喜欢这个,因为如果你的源string是空的,它会阻止一个空项目的单个项目列表:
IEnumerable<string> namesList = !string.isNullOrEmpty(names) ? names.Split(',') : Enumerable.Empty<string>();
如果您已经有一个列表,并希望从分隔string中添加值,则可以使用AddRange
或InsertRange
。 例如:
existingList.AddRange(names.Split(','));