Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.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# 并非所有代码路径都返回值//返回void_C#_Arrays_Object_Return Value_Quicksort - Fatal编程技术网

C# 并非所有代码路径都返回值//返回void

C# 并非所有代码路径都返回值//返回void,c#,arrays,object,return-value,quicksort,C#,Arrays,Object,Return Value,Quicksort,我试图实现一个数组(文件)的快速排序,但在这样做的过程中,我得到了两个错误。我将在代码中对它们进行注释 static int[] quick(int[] array, int start, int end) // 'quick(int[], int, int)': Not all code paths return a value (i have tried to return this.) { int i3; if

我试图实现一个数组(文件)的快速排序,但在这样做的过程中,我得到了两个错误。我将在代码中对它们进行注释

    static int[] quick(int[] array, int start, int end)
   // 'quick(int[], int, int)': Not all code paths return a value (i have tried to return this.)
        {
            int i3;
            if (start < end)
            {
                i3 = Partition(array, start, end);

                quick(array, start, i3 - 1);
                quick(array, i3 + 1, end);
            }
        }

        static int Partition(int[] array, int start, int end)
        {
            int temp;
            int p = array[end];
            int i3 = start - 1;

            for (int j = start; j <= end - 1; j++)
            {
                if (array[j] <= p)
                {
                    i3++;
                    temp = array[i3];
                    array[i3] = array[j];
                    array[j] = temp;
                }
            }

            temp = array[i3 + 1];
            array[i3 + 1] = array[end];
            array[end] = temp;
            return i3 + 1;
        }
        Console.WriteLine("The file sorted via a Quick Sort is: ");
        foreach (int q1 in f)
            Console.Write(q1 + " ");
        return quick;
    // Since 'Program.Main(string[])' returns void, a returner keyword must not be followed by an object expression..
    }
静态int[]快速(int[]数组、int开始、int结束)
//'quick(int[],int,int)':并非所有代码路径都返回值(我已尝试返回此值。)
{
int i3;
如果(开始<结束)
{
i3=分区(数组、开始、结束);
快速(阵列、启动、i3-1);
快速(阵列,i3+1,结束);
}
}
静态int分区(int[]数组,int开始,int结束)
{
内部温度;
int p=数组[结束];
int i3=开始-1;

对于(int j=start;j),您将
quick
定义为返回
int[]
,但您实际上没有从该方法返回任何内容。看起来该方法应该是
void
。我们需要查看其他错误的更多代码,但看起来
分区之后的代码实际上不包含在方法中,但如果它实际上位于
void Main
中,则您可以使用它“您实际上不会返回任何内容。@juharr我明白了,我现在已将分区方法放在quick方法中,并且在尝试返回quick(将要分析的文件)时-get 1)“无法将方法组'quick'转换为类型'int[]”,2)“静态局部函数不能包含引用”