28

我的类库中的一些函数接受string[]作为参数。

我想将我的转换System.Collections.Specialized.StringCollectionstring[].

是否可以使用一些衬里,或者我必须使用循环创建数组?

4

3 回答 3

33

使用StringCollection.CopyTo(string[],index)将内容复制到字符串数组。所有 .Net 框架都支持这一点。

System.Collections.Specialized.StringCollection sc = new System.Collections.Specialized.StringCollection();
sc.Add("Test");
sc.Add("Test2");

string[] strArray = new string[sc.Count];
sc.CopyTo(strArray,0);
于 2012-11-15T06:15:41.287 回答
32

试试这个

System.Collections.Specialized.StringCollection strs = new  System.Collections.Specialized.StringCollection();
strs.Add("blah"); 
strs.Add("blah"); 
strs.Add("blah"); 

string[] strArr = strs.Cast<string>().ToArray<string>();
于 2012-11-15T06:16:32.837 回答
9

这可以解决问题:

System.Collections.Specialized.StringCollection sc = new System.Collections.Specialized.StringCollection();
/*sc.Add("A");
sc.Add("B");*/
string[] asArray = sc.Cast<string>().ToArray();

免责声明:我不知道它的性能特征是什么。

于 2012-11-15T06:17:04.767 回答