【问题标题】:string.split returns a string[] I want a List<string> is there a one liner to convert an array to a list?string.split 返回一个字符串 [] 我想要一个 List<string> 是否有一个内衬可以将数组转换为列表?
【发布时间】:2010-09-20 02:20:20
【问题描述】:

C# 中的列表具有.ToArray() 方法。我想要相反的情况,将数组转换为列表。我知道如何创建一个列表并循环遍历它,但我想要一个班轮将其交换回来。

我在.NET 2.0环境中使用String.Split方法,所以LINQ等对我不可用。

【问题讨论】:

    标签: c# arrays generics list


    【解决方案1】:
    string s = ...
    new List<string>(s.Split(....));
    

    【讨论】:

    • 您要小心使用 StringSplitOptions.RemoveEmptyEntries ,否则当字符串为空字符串时,您可能会得到一个包含单个空字符串的列表,而不是没有元素的列表。可能不是你想要的。
    • 是的,但是没有List的结果也是一样的,所以这取决于他对split函数的需求,而不是数据的存储方式。
    • 只是想提一下,因为空列表和具有一个空元素的列表之间存在语义差异。
    • 因此,在您的示例中,我们将永远无法使用所述列表,因为它没有参考名称...
    【解决方案2】:

    在 .Net 3.5 中,System.Linq 命名空间包含一个名为 ToList&lt;&gt;() 的扩展方法。

    【讨论】:

    • 谢谢!正是我需要的。
    【解决方案3】:
    return new List<string>(stringArray);
    

    【讨论】:

      【解决方案4】:

      如果您只需要一个实现 IList 接口的对象并且您不需要添加新项目,您也可以这样做:

      IList<string> list = myString.Split(' ');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-22
        • 2011-04-21
        • 1970-01-01
        • 2020-04-14
        • 1970-01-01
        • 1970-01-01
        • 2017-07-11
        相关资源
        最近更新 更多