将字符串转换为List <string> </string>

时间:2012-07-31 13:35:30

标签: c# linq

我要做的是使用linq将字符串转换为字符串列表。我尝试以下代码行:

value = "one,two,three,four";

List<string> arr = value.Split(',').Select(s => s.ToList());

但我收到错误:

错误1无法隐式转换类型'System.Collections.Generic.IEnumerable&gt;'到'System.Collections.Generic.List'。存在显式转换(您是否缺少演员?)

如果有人能提供一些很棒的帮助。

8 个答案:

答案 0 :(得分:10)

你好,你可以试试

 value.Split(',').ToList();

答案 1 :(得分:3)

你在每个单独的数组元素上都有ToList - 即在每个字符串上。该调用本身有效,因为string实现了IEnumerable<char>,但这意味着您创建的IEnumerable<List<char>>不是您想要的。

我认为你根本不需要Select - 只需使用:

List<string> arr = value.Split(',').ToList();

答案 2 :(得分:2)

列表构造函数之一takes an enumerable

var arr = new List<string>(value.Split(','));

不确定为什么人们坚持使用所有内容的linq扩展 ...

答案 3 :(得分:1)

value = "one,two,three,four";

List<string> arr = value.Split(',').Select(s => s).ToList();

或更简单:

List<string> arr = value.Split(',').ToList();

答案 4 :(得分:1)

即使你不需要选择,但如果你想使用它,那么它应该是:

  List<string> arr = value.Split(',').Select(s => s).ToList();

或者您可以这样做:

  List<string> arr = value.Split(',').ToList();

答案 5 :(得分:0)

您不需要选择:

value = "one,two,three,four";

List<string> arr = value.Split(',').ToList();

答案 6 :(得分:0)

string value = "one,two,three,four";
List<string> arr = value.Split(',').ToList();

答案 7 :(得分:0)

您不需要在这里使用LINQ,而只需执行此操作:

string value = "one,two,three,four";
List<string> arr = value.Split(',').ToList();