将字符串数组转换为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()
方法。