对整数数组进行排序

时间:2017-11-05 12:12:52

标签: c# arrays

我的作业有问题。我必须对数组中的数字进行排序,从最低到最高。这是代码: Source code

我必须在这个例子中使用一个函数,但我不知道如何摆脱错误。我希望你能帮助我!

3 个答案:

答案 0 :(得分:3)

试试这段代码:

using System;

public class Program
{
    static void sortieren (int[] myArr)
    {
        Array.Sort(myArr);      
    }   
    public static void Main(string[] args)
    {
        int[] myArr= new int[5] {1,5,3,8,21};
        sortieren(myArr);
        foreach (int u in myArr)
            {
                Console.WriteLine(u);   
            }                
    }   
}

The running code

答案 1 :(得分:2)

如果您不必使用某个功能来执行此操作,您可以使用以下内容:

using System;
namespace Stackoverflow
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] myArr = { 5, 17, 23, 9, 8, 10 };
            Array.Sort(myArr);
        }
    }
}

如果你必须使用一个函数,我会使用这样的东西:

using System;
namespace Stackoverflow
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] myArr = { 5, 17, 23, 9, 8, 10 };
            ReturnSorted(myArr);
        }

        public static int[] ReturnSorted(int[] secondArr)
        {
            int[] sorted = new int[secondArr.Length];
            for (int i = 0; i < secondArr.Length; i++)
            {
                sorted[i] = secondArr[i];
            }
            Array.Sort(sorted);
            return sorted;
        }
    }
}

您可以使用“Array.Clear(secondArr, 0, secondArr.Length);”清空函数中的数组“secondArr”,以节省内存。

我希望我能提供帮助! :d

答案 2 :(得分:0)

在声明方法时,您不应该使用new关键字作为方法的传入参数变量。这将创建变量类型的新实例。

您需要将方法参数更改为:

public static int[] sortieren(int[] myArr) 
{
   Array.Sort(myArr);
}

旁注1 :如果sortieren方法唯一的做法是Array.Sort,为什么你需要它作为一个单独的方法(除非这是作为家庭作业或一个研究项目)?

旁注2 :查看代码的其余部分,您是否在>尝试对其进行排序后创建一个数组?

您应该将Main代码更改为:

int[] myArr = new int[5] { 1, 5, 3, 8, 21 };
Array.Sort(myArr);
....

或者,如果您坚持使用方法,请将其更改为:

int[] myArr = new int[5] { 1, 5, 3, 8, 21 };
sortieren(myArr);
....

您可以找到一个非常相似的示例on this page