C# 将数组传递给另一个数组方法
我需要创建两个方法。方法1(CreateArray)应允许用户输入他们想要创建的数组的长度,然后输入每个元素的值。方法2(PrintArray)打印在方法1中创建的数组 这两种方法在独立的基础上都可以很好地工作。但是,我不知道如何将CreateArray方法传递给PrintArray方法C# 将数组传递给另一个数组方法,c#,asp.net,.net,oop,c#-4.0,C#,Asp.net,.net,Oop,C# 4.0,我需要创建两个方法。方法1(CreateArray)应允许用户输入他们想要创建的数组的长度,然后输入每个元素的值。方法2(PrintArray)打印在方法1中创建的数组 这两种方法在独立的基础上都可以很好地工作。但是,我不知道如何将CreateArray方法传递给PrintArray方法 class Calculation { public int[] CreateArray (int a) { int count = 1; int[] Creat
class Calculation
{
public int[] CreateArray (int a)
{
int count = 1;
int[] CreateArray = new int[a];
for (int i = 0; i < CreateArray.Length; i++)
{
Console.Write($"{count}.) Enter a value - ");
int userInput = int.Parse(Console.ReadLine());
CreateArray[i] = userInput;
count++;
}
return CreateArray;
}
public void PrintArray(int[] numbers)
{
int elementNum = 1;
for (int i = 0; i < numbers.Length; i++)
{
Console.WriteLine($"{elementNum}.) {numbers[i]}");
elementNum++;
}
}
}
class Program
{
static void Main(string[] args)
{
Console.Write("Enter the Length of an array you would like to create: ");
int arrayLength = int.Parse(Console.ReadLine());
Calculation calc = new Calculation();
calc.CreateArray(arrayLength);
}
}
类计算
{
公共int[]创建数组(int a)
{
整数计数=1;
int[]CreateArray=新的int[a];
for(int i=0;i
您需要将“calc.CreateArray(arrayLength);”的结果存储在局部变量中,并将其传递给PrintArray():
为什么要将
CreateArray
方法传递给PrintArray
方法?可能您的意思是希望将创建的数组传递给PrintArray
方法?旁注:您可能应该更改计算类以将传递的值作为proberty存储在该实例中,或者将CreateArray和PrintArray设为静态,并通过“Calculation.CreateArray(len)”直接调用它们,然后“Calculation.printary(arr)”SebRut:每次你想要一个新数组时,你都要创建一个Calculation
的实例,而不是int[]
。我想这不是个好主意。而且我们还没有开始讨论可测试性。@mightybadboom这就是为什么我还建议将方法设置为静态的原因,这是imo执行此类auf任务的正确方法。@sebboom但这就是我提到可测试性的原因。例如,据我所知,你不能模拟静态方法。如果你想要一个以上的array如果将变量存储在Claculation类中,您仍然必须实例化calculation类的x个实例,而不是x个数组。这就是为什么我会像您在回答中所写的那样解决它,而不是像您在评论中所写的那样。谢谢。我是编程新手,所以我只是在学习如何创建方法并在主方法中调用它们od。
int[] newArray = calc.CreateArray(arrayLength);
calc.PrintArray(newArray);