Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不在方法内部创建数组的情况下返回C#中的数组?_C#_Arrays_Methods_Return Type - Fatal编程技术网

如何在不在方法内部创建数组的情况下返回C#中的数组?

如何在不在方法内部创建数组的情况下返回C#中的数组?,c#,arrays,methods,return-type,C#,Arrays,Methods,Return Type,我必须在做一点计算后返回一个数组。但是如果不在方法内部创建一个数组,我不知道怎么做 int[] arr = numbers(number1, number2); // this is in the main function 这就是我创建的方法 static int[] numbers(int number1, int number2) { for(int i=number1; i<=number2; i++) { if(i%2==1)

我必须在做一点计算后返回一个数组。但是如果不在方法内部创建一个数组,我不知道怎么做

int[] arr = numbers(number1, number2); // this is in the main function
这就是我创建的方法

static int[] numbers(int number1, int number2)
{
     for(int i=number1; i<=number2; i++)
    {
        if(i%2==1)
        {
            return [i++]=i;
        }
    }
    return 0;

}          
静态int[]数字(int number1,int number2)
{

对于(int i=number1;i那么谁来创建数组?你到底想做什么?为什么不在方法内部创建数组?或者创建一个数组字段并返回对它的引用,以及相关的错误和返回陈旧、肮脏或突然更改的数据的风险?如果你告诉我们为什么要这样做,可能还有其他解决方案打开?但是…为什么?现在你的问题是这样的:“我如何在不创建数组的情况下创建数组?”。是否要填充在另一个方法中创建的数组?是否需要比数组更灵活的方法,因为您不知道它将包含多少个元素?您可以使用
返回
IEnumerable
,并在方法之外调用
ToArray
,但问题仍然是:为什么?(还有,什么是
l
r
?)当然它会有编译时错误,第一件事是你必须返回
int[]
,但是返回
0
。这是什么->
[i++]=i;
?Jordy非常感谢您的回答。但我只允许更改方法的主体Numbers@Joe我想你是在某个编码网站上,通过了测试或别的什么。@Joe SO不是问答服务。你甚至还没有发布真实的问题。至于问答,你知道你已经失败了吗?@SeM-ՍեՄ…是的,你“你当然是对的。当这是连续第十个这样质量的问题时,有时要保持友好有点困难。@乔:不,你没有问。你只发布了部分问题。有太多可能的答案,这让人恼火。如果你把它设为
数字
函数中的一个局部函数,这个答案会起作用。极端,是的,但不正确。”这就是你一直问到现在的问题
static IEnumerable<int> Number(int number1, int number2){
    for(int i=number1; i<=number2; i++) {
        if(i%2==1) {
            yield return i;
        }
    }
}
static int[] Number(int number1, int number2){
    var x = new int[number2];
    int y = 0;
    for(int i=number1; i<=number2; i++) {
        if(i%2==1) {
            x[y] = i;
            y++;
        }
    }
    return x;
}
var something = Number(1,5).ToArray();