c# - 从一个函数到另一个函数的输出,特别是一个数组
问题描述
我对 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
}
推荐阅读
- reactjs - 使用 testing-library 测试 cleave.js 组件
- python - 作为客户端,如何避免python中TCP/IP套接字中的CLOSE_WAIT?
- vba - 可靠地识别 Word 文档中的位置以用于 VBA 代码
- r - 如何使用 R 执行按类别和子类别分隔的单向方差分析测试?
- google-apps-script - Google Scripts:添加数据时将文本转换为数字格式
- javascript - 如何将动画添加到 D3 自定义收音机
- r - R:我可以让 rename 接受一个函数作为新的 varname
- magento2 - minicart 更新后更新结帐侧边栏
- django - 根据django admin中选择的外键下拉选择多对多字段
- jquery-easyui - Easy UI Datagrid过滤器组合框问题