Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数组传递给另一个数组方法_C#_Asp.net_.net_Oop_C# 4.0 - Fatal编程技术网

C# 将数组传递给另一个数组方法

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

我需要创建两个方法。方法1(CreateArray)应允许用户输入他们想要创建的数组的长度,然后输入每个元素的值。方法2(PrintArray)打印在方法1中创建的数组

这两种方法在独立的基础上都可以很好地工作。但是,我不知道如何将CreateArray方法传递给PrintArray方法

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);