0

「output();」のパラメータを何にしようか迷っています。

作成された配列の内容を表示する必要がありますが、単なる変数ではなく配列として混乱しています... output(value); である必要があると思いました。しかし、それとあなたが言うかもしれない他の多くの推測はうまくいきませんでした.

メインで作成した変数をそこに入れることを教えられましたが、それは機能しませんでした。

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(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 に答える
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# 配列はその長さをフィールドに保持するため、2 番目のパラメーターも削除できます。

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 に答える
0

値パラメーターが何のためのものかはわかりませんが、arr は配列、arr、arraySize は変数 arraySize です。output(value, arr, arraySize) も同様です

于 2012-07-03T15:46:33.283 に答える