获取从一个函数到另一个函数的输出,特别是数组



我对c#很陌生,我正在尝试了解函数/方法。

下面,我正在尝试创建一个程序,该程序有一个函数创建 200 个随机数并将它们存储在一个数组中,然后我希望另一个函数对所述数组进行排序并统计重复项。 这就是问题出现的地方,我不完全确定如何从第一个函数获取数组,或者至少将数组中的值放入第二个函数中。 下面的代码可能很草率当我被卡住时,我有点半途而废。

class Program
{
static void Main(string[] args)
{
ExamineArray();
Console.ReadKey();
}
static void CreateArray(int i)
{
int[] array = new int[200];
Random rand = new Random();
for (i = 0; i<200; i++)
{
int x = rand.Next(0, 11);
array[i] = x;
}
}
static void ExamineArray()
{
for (int i = 0; i < 200; i++)
{
Console.WriteLine(CreateArray(i));
}
}
}

我已经考虑过让第二个数组通过并完全重写第一个数组的内容,但我仍然不知道如何让内容结束。 很抱歉问这么简单的问题。

方法可以是 void,这意味着它没有返回类型,也可以返回对象。通常,调用CreateArray的方法也可以返回该数组。您必须像这样修改方法的签名:

static int[] CreateArray(int i){ // your method code goes in here}

这意味着它将返回一个整数数组。在方法中,当你完成数组的构造时,使用return关键字将其取出:

static int[] CreateArray(int numberOfArrayItems)
{
int[] array = new int[numberOfArrayItems];
Random rand = new Random();
for (int i = 0; i<numberOfArrayItems; i++)
{
int x = rand.Next(0, 11);
array[i] = x;
}
return array;  // <-- here you return the array
}

现在在此方法的调用站点,您现在可以简单地收集构造的数组,例如:

static void ExamineArray()
{
int[] array = CreateArray(200);
// do what ever you want with it
}

如果您想阅读方法签名和返回类型,这里是文档,这里有一个教程

最新更新