将字符串数组转换为List <string>

我已经在数组类型中看到了使用.ToList()完成的示例,这似乎只能在.Net 3.5+中使用。 我正在.NET Framework 2.0上处理目前无法升级的ASP.NET项目,所以我想知道:还有其他解决方案吗? 比循环数组并添加每个元素到这个List更优雅(这是没有问题的;我只是想知道是否有更好的解决方案用于学习目的)?

string[] arr = { "Alpha", "Beta", "Gamma" };

List<string> openItems = new List<string>();

foreach (string arrItem in arr)
{
    openItems.Add(arrItem);
}

如果我必须这样做,是否有一种方法可以在将内存复制到我的列表中后,从内存中取消分配延迟的数组?


只需使用List<T>这个构造函数即可。 它接受任何IEnumerable<T>作为参数。

string[] arr = ...
List<string> list = new List<string>(arr);

从.net 3.5开始,你可以使用LINQ扩展方法(有时候)使代码流更好一些。

用法如下所示:

using System.Linq; 

// ...

public void My()
{
    var myArray = new[] { "abc", "123", "zyx" };
    List<string> myList = myArray.ToList();
}

PS。 还有另一种ToArray()方法。

链接地址: http://www.djcxy.com/p/9081.html

上一篇: Convert array of strings to List<string>

下一篇: Get resource without reading it completely into memory