【问题标题】:Add a single string that contains multiple list items?添加包含多个列表项的单个字符串?
【发布时间】:2014-12-30 20:44:08
【问题描述】:

假设我有一个包含多个值的字符串:

private string serverList = "Server 1, Server 2, Server 3";

是否可以将这些值添加到列表中? 显然,如果我只使用 List.Add(serverList);我会将所有 3 个元素作为一个元素。我需要的是 serverList 的 3 个独立元素。

【问题讨论】:

标签: c#


【解决方案1】:

使用Split 方法将你的字符串分解成一个数组

string[] servers = serverList.Split(',');

【讨论】:

  • 请注意,使用单字符 (',') 将返回带有前置空格的所有字符串 - 使用 (", ") 可能更有用
  • True,或者在将它们添加到列表时删除空格
【解决方案2】:
serverList.Split(',').Select(server => server.Trim()).ToList();

【讨论】:

  • 请注意,由于Split 是用params 定义的,因此完全没有必要指定new string[]。此外,此代码无法编译 - ','char 而不是 string,因为您使用了单引号
  • @Aravol 你是对的。我在编辑时搞砸了。我现在已经更正了.. 谢谢.. 我建议您在看到如此明显的错误时随时编辑帖子(他们称之为记事本).. 我相信原作者会欣赏它:)
【解决方案3】:
string serverList = "Server 1,Server 2,Server 3";

List<string> listServers = new List<string>{};

listServers.AddRange(serverList.Split(',')); //  utilize AddRange instead of Add

List.AddRange Method

【讨论】:

    猜你喜欢
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多