28

私のクラス ライブラリの一部の関数は、パラメーターとして受け入れstring[]ます。

に変換したいSystem.Collections.Specialized.StringCollectionですstring[]

いくつかのライナーで可能ですか、それともループで配列を作成する必要がありますか?

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 に答える