2012-07-03 50 views
0

我很困惑要把「output();」作爲參數放在什麼位置。調用一個顯示數組內容的方法

我需要把它顯示已創建的數組的內容,但我越來越糊塗作爲一個數組,而不僅僅是一個變量...我想它應該是輸出(值);但是那個和你可能會說的許多其他猜測都沒有奏效。

我被教導你在那裏放入你在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(); 
      } 
     } 
    } 
} 
} 
+0

您正在調用輸出,但在期望3個參數時不傳遞任何東西? – phadaphunk

+0

你爲什麼要通過'價值'論證?只需傳遞數組並循環打印它的內容即可! – Teejay

+0

現在也有人解釋它。我已經回去了,它是關於以前所有問題的最佳答案的複選框。 – Dan

回答

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

是否需要'arraySize'參數? - oh和+1 –

+0

@Andras Zoltan:不是。我會記下這一點。 – Tudor

+0

我現在理解了ACCEPT回答函數。對不起今天之前不使用它。謝謝你,我忘了命令。當我將這些傳遞給方法時,它是arr,arraySize順序。 – Dan

0

我不確定值參數是什麼,但是arr是你的數組,arr,而arraySize是你的變量arraySize。所以做輸出(值,ARR,arraySize)

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(); 
    } 
} 
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已經存儲了數組的大小。