2016-09-30 2 views
-1

Ich habe 3 Methoden zu 1. Strings als Array aufnehmen [zipCodes], 2. Ein Menü für den Benutzer ausgeben und 3. das String-Array dem Benutzer anzeigen. Die ersten beiden Optionen funktionieren, und nach dem Testen kann ich sagen, dass das Array funktioniert und Strings aufnimmt, aber ich habe Mühe, sie dem Benutzer anzuzeigen.Ausgabe eines String-Arrays

Ich habe diese Methode mit Ints verwendet, es lässt mich denken, dass die [i] nur für 1 Zeichen ist, eine Erklärung würde sehr geschätzt werden.

// Hier ist der Code so weit

static void Main(string[] args) 
     { 
      string[] zipCodes = new string[10]; 
      string zCounter; 

      for (int i = 0; i < zipCodes.Length; i++) 
      { 
       Console.WriteLine("Please enter 10 destinations:"); 
       zCounter = Convert.ToString(Console.ReadLine()); 
       zCounter = zipCodes[i]; 
      } 

      int sentinalNo; 

      Console.Clear(); 
      Console.WriteLine("Please enter from the following options: "); 
      Console.WriteLine("1. Display order zipcodes."); 
      Console.WriteLine("2. Search zipcode."); 
      Console.WriteLine("3. Exit."); 
      sentinalNo = Convert.ToInt32(Console.ReadLine()); 

      while (sentinalNo != 3) 
      { 
       switch (sentinalNo) 
       { 
        case 1: 
         DisplayZips(zipCodes); 
         break; 
       } 

      } 


     } 

     private static void DisplayZips(string[] zipCodes) 
     { 
      for (int i = 0; i < zipCodes.Length; i++) 
      { 
       // Why doesnt this work? 
       Console.WriteLine(zipCodes[i]); 
      } 
+0

'F9',' F5', 'F10',' F11', sind diese magischen Saiten? –

+0

@Quantic Wie Sie vielleicht wissen, sind sie die am häufigsten verwendeten Schlüssel bei der Verwendung von VS-Debugger :) –

Antwort

2

Sie sollten Eingang in die Array-Elemente zuordnen:

 // array of 10 strings each of them is null 
     string[] zipCodes = new string[10]; 
     ... 

     for (int i = 0; i < zipCodes.Length; i++) 
     { 
      Console.WriteLine("Please enter 10 destinations:"); 
      // Convert.ToString is redundant here 
      zCounter = Convert.ToString(Console.ReadLine()); 

      // swapped: user input is assigned to array items 
      zipCodes[i] = zCounter; 
     } 
+0

Ohhhhhhh, Also welche Art von Datum ist das Array speichern, dass ich nicht deklariert habe? –

+0

'string [] zipCodes = new string [10];' erstellt eine Array-Instanz mit 10 'null' Elementen –

+0

Ich weiß, das klingt wie eine dumme Frage, aber gibt es irgendeinen Grund, den Datentyp nicht in einem Array zu deklarieren Es ist nur allgemein bekannt, dies immer zu tun? –

Verwandte Themen