并非所有代码路径都返回值//返回空值

问题描述 投票:0回答:1

我正在尝试实现数组(文件)的quickSort,但这样做会出现2个错误。我将在代码中将它们注释掉。

    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..
    }

我对C#还是相当陌生,不了解这些错误,当我将Main更改为对象时,它没有任何变化,希望这是有道理的,对所有帮助有所帮助。

c# arrays object return-value quicksort
1个回答
0
投票

对于第一个错误,您必须在quick方法中返回某些内容,因为您的方法具有返回值并且类型为int []

我不确定第二个问题

© www.soinside.com 2019 - 2024. All rights reserved.