0

我对将什么作为“输出()”的参数感到困惑;

我需要让它显示已创建的数组的内容,但我很困惑,因为它是一个数组而不仅仅是一个变量......我认为它应该是 output(value); 但是你可能会说的许多其他猜测都没有奏效。

我被教导你把你在 main 中创建的变量放在那里,但这不起作用。

using System;


namespace Lab16
{
class Program
{
    static void Main(string[] args)
    {

        int value;

        Console.Write("How big of an Array? ");
        int arraySize = int.Parse(Console.ReadLine());
        int[] arr = new int[arraySize];

        for (int i = 0; i <= arraySize - 1; i++)
        {
            Console.Write("First Value: ");
            value = int.Parse(Console.ReadLine());
            arr[i] = Convert.ToInt32(value);
        }

        output();
    }

    static void output(ref int value, ref Array arr, ref int arraySize)
    {

        foreach (int i in arr)
        {
            for (int v = 1; v <= arraySize; v++)
            {
                string number = "Number: ";

                Console.WriteLine("{0}{1} {2}", number, v, i);
                Console.ReadLine();
            }
        }
    }
}
}
4

4 回答 4

2

首先,为什么所有的裁判?它们似乎没有任何用途,以及从未使用过的第一个参数:

static void output(Array arr, int arraySize)
    {

        foreach (int i in arr)
        {
            for (int v = 1; v <= arraySize; v++)
            {
                string number = "Number: ";

                Console.WriteLine("{0}{1} {2}", number, v, i);
                Console.ReadLine();
            }
        }
    }

现在使用

output(arr, arraySize);

第二个参数也可以去掉,因为 C# 数组将它们的长度保存在一个字段中:

static void output(Array arr)
    {

        foreach (int i in arr)
        {
            for (int v = 1; v <= arr.Length; v++)
            {
                string number = "Number: ";

                Console.WriteLine("{0}{1} {2}", number, v, i);
                Console.ReadLine();
            }
        }
    }

并使用:

 output(arr);
于 2012-07-03T15:47:09.993 回答
2

您应该将数组作为参数发送到此方法:

static void output(int[] arr)
{
    for (int i = 0; i< arr.Length; i++)
    {

        string number = "Number: ";
        Console.WriteLine("{0}{1} ", number, arr[i]);
        Console.ReadLine();
    }
}
于 2012-07-03T15:47:26.583 回答
2

用这个 :

 static void output(int[] myArray)
 {
    for (int i = 0; i< myArray.Length; i++)
   {

    string number = "Number: ";
    Console.WriteLine("{0}{1} {2}", number, v, i);
    Console.ReadLine();
   }
 }

但不要忘记在调用函数时传递参数:

output(myArray)

因为输出期望接收一个数组。也删除所有参考。

myArray.Length已经存储了数组的大小。

于 2012-07-03T15:49:16.020 回答
0

我不确定 value 参数的用途,但 arr 将是您的数组,arr 和 arraySize 是您的变量 arraySize。输出(值,arr,arraySize)也是如此

于 2012-07-03T15:46:33.283 回答