我正在尝试选择一组值,每个方法返回一个字符串数组,我试图将其放入main中的字符串数组中。这是代码:
string[] array = { MethodA1(), MethodA2(), MethodA3() };
我正在尝试创建string []数组,只是一个项目。这有效:(但它只允许用户显示/选择一个值)
string[] array = MethodA1();
有人能想到一种允许多个方法返回数组的方法吗?
答案 0 :(得分:7)
这样的东西?
string[] array = MethodA1().Concat(MethodA2()).Concat(MethodA3()).ToArray();
编辑:从您的评论中可以看出,您实际上是在尝试实现完全不同的东西:根据参数选择其中一种方法的结果。你的意思是这样的吗?
private string[] SelectFiles(object userInput)
{
string[] array;
if (userInput == 1)
{
array = MethodA1();
}
else if (userInput == 2)
{
array = MethodA2();
}
else
{
array = MethodA3();
}
return array;
}
答案 1 :(得分:5)
您可以使用SelectMany
将所有内容展平为单个string[]
:
string[] array = (new[] { MethodA1(), MethodA2(), MethodA3() })
.SelectMany(a => a)
.ToArray();
答案 2 :(得分:0)
也许你应该考虑
List<string>
你可以简单地使用
myList.AddRange(stringArrayMethod());