我的作业有问题。我必须对数组中的数字进行排序,从最低到最高。这是代码: Source code
我必须在这个例子中使用一个函数,但我不知道如何摆脱错误。我希望你能帮助我!
答案 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);
}
}
}
答案 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。