Man*_*nha 12 .net c# arrays generics clr
这个问题看起来似乎微不足道,乍一看也很愚蠢,但它远不止于此.
我有一个任何类型的数组T(T[]),我想将其转换为List generic(List<T>).除了创建一个通用列表,遍历整个数组并在List中添加元素之外还有其他方法吗?
现状:
string[] strList = {"foo","bar","meh"};
List<string> listOfStr = new List<string>();
foreach(string s in strList)
{
listOfStr.Add(s);
}
Run Code Online (Sandbox Code Playgroud)
我理想的情况:
string[] strList = {"foo","bar","meh"};
List<string> listOfStr = strList.ToList<string>();
Run Code Online (Sandbox Code Playgroud)
要么:
string[] strList = {"foo","bar","meh"};
List<string> listOfStr = new List<string>(strList);
Run Code Online (Sandbox Code Playgroud)
我建议最后两个方法名称,因为我认为编译器或CLR如果它想要内置,可以对整个操作执行一些优化.
PS:我不是在谈论Array或者ArrayList类型
Fad*_*man 27
如果我正确理解您的问题,您所拥有的代码段之一将起作用.在C#中,字符串需要用双引号括起来,而不是单引号.
string[] strList = {"foo","bar","meh"};
List<string> listOfStr = new List<string>(strList);
Run Code Online (Sandbox Code Playgroud)
小智 10
如果您参考System.Linq,您可以输入:
string[] strList = {'foo','bar','meh'};
List<string> listOfStr = strList.ToList();
Run Code Online (Sandbox Code Playgroud)
完全像你想要的.
第二种语法也应该有效.