如何通过传入列表来构造字符串数组?

时间:2015-03-17 21:16:48

标签: c#

我尝试用#34; C#new string array pass dynamic"但找不到任何相关的东西。

int[] IDs = someMethodCall();
List<string> values = new List<string>();
foreach (int i in IDs)
{
   values.Add(i.ToString());
}
someClass sc = new someClass();
sc.Value = new string[] {  "values.string1", "values.string2", ... };

我想要做的是将字符串从值传递到sc.Value,所以我不必写出来(因为我不知道他们是什么&#29; ll事先)。

sc.Value是一个字符串[],由I类使用API​​(不是由我编写)定义。

动态执行此操作的最佳方法是什么?换句话说,如何将动态值传递给string []构造?

3 个答案:

答案 0 :(得分:2)

如果我没有遗漏某些内容,您可以使用ToArray方法

sc.Value =  values.ToArray();
顺便说一下,你甚至不需要首先创建一个列表:

sc.Value = someMethodCall().Select(x => x.ToString()).ToArray();

答案 1 :(得分:0)

我对你的提问方式感到有点困惑,但我认为你是想把你的列表发送到一个数组,这可以通过以下代码轻松完成:

        List<string> values = new List<string>();
        sc.Value = values.ToArray();

答案 2 :(得分:0)

如何使用内置方法ToArray

sc.Value = values.ToArray();

附带List,如果你可以使用LINQ,它是IEnumerable的扩展方法。