在一行中将字符串转换为List <string>?</string>

时间:2011-02-16 01:08:53

标签: c# asp.net list generics string

我有一个字符串:

var names = "Brian,Joe,Chris";

有没有办法将其转换为List<string>,分隔的一行?

7 个答案:

答案 0 :(得分:164)

List<string> result = names.Split(new char[] { ',' }).ToList();

或者甚至更清洁Dan的建议:

List<string> result = names.Split(',').ToList();

答案 1 :(得分:36)

List<T>有一个接受IEnumerable<T>的构造函数:

List<string> listOfNames = new List<string>(names.Split(','));

答案 2 :(得分:2)

我更喜欢这个,因为如果源字符串为空,它会阻止带有空项的单个项目列表:

  IEnumerable<string> namesList = 
      !string.isNullOrEmpty(names) ? names.Split(',') : Enumerable.Empty<string>();

答案 3 :(得分:1)

string given="Welcome To Programming";
List<string> listItem= given.Split(' ').ToList();//Split according to space in the string and added into the list

输出:

Welcome

To 

Programming

答案 4 :(得分:1)

使用 Split() 函数将它们切片并使用 ToList() 将它们作为列表返回。

var names = "Brian,Joe,Chris";
List<string> nameList = names.Split(',').ToList();

答案 5 :(得分:0)

如果您已有列表并想要从分隔字符串中添加值,则可以使用AddRangeInsertRange。例如:

existingList.AddRange(names.Split(','));

答案 6 :(得分:0)

分割由字符分隔的字符串,并返回所有非空元素。

var names = ",Brian,Joe,Chris,,,";
var charSeparator = ",";
var result = names.Split(charSeparator, StringSplitOptions.RemoveEmptyEntries);

https://docs.microsoft.com/en-us/dotnet/api/system.string.split?view=netframework-4.8