2016-10-21 4 views
0

Ich bekomme Index ist außerhalb der Grenzen in den Zeilen 33 und 46. Warum ist das? Ich versuche das Array umzukehren. Ich weiß, was der Fehlercode bedeutet, aber ich weiß nicht, warum ich es bekomme. Zeile 33 - String umgekehrt = ReverseArray (Crafting); Linie 46 - Rückgabe ReverseCraft [5];Warum zeigt es Index ist außerhalb der Grenzen des Arrays

 //make an array to be reversed 
     string[] craftArray = new string[5] { "Iron", "Stone", "Copper", "Steel", "Clay" }; 


     //create a variable to hold return value 
     string[] crafting = new string[5]; 





     //function call the ReverseCraft method 
     string reversed = ReverseArray(crafting); 

     //Report the calculation to the user 
     Console.Write("The array reversed is" + reversed); 



    } 
    public static string ReverseArray(string[] craft) 
    { 
     //create a variable and reverse 
     string[] reverseCraft = new string[5] { craft[4], craft[3], craft[2], craft[1], craft[0] }; 
     //return value 
     return reverseCraft[5]; 

    } 
} 
} 
+1

'reverseCraft [5]' sollte '[4]' sein. Da Arrays auf Null basieren. – Steve

+0

Ihre Zeilenanzahl ist ebenfalls außerhalb der Grenzen – Plutonix

+0

Die Methode ReverseArray sollte ein Array von Zeichenfolgen, keine Zeichenfolge zurückgeben. – NineBerry

Antwort

2

Ihre umgekehrte Methode hat eine falsche Signatur. Es sollte string[] zurückkehren, wie folgt aus:

public static string[] ReverseArray(string[] craft) { 
    //create a variable and reverse 
    string[] reverseCraft = new string[5] { craft[4], craft[3], craft[2], craft[1], craft[0] }; 
    //return value 
    return reverseCraft; 
} 

Mit diesem Code an Ort und Stelle, alles, was Sie tun müssen, ist das Druckergebnis richtig:

string[] reversed = ReverseArray(crafting); 
//Report the calculation to the user 
Console.Write("The array reversed is " + string.Join(", ", reversed)); 
+0

Okay danke. Gibt es eine andere Möglichkeit, dies zu tun, anstatt string.join zu verwenden? – Xoax

+0

@Xoax Ja, Sie können eine Schleife schreiben. – dasblinkenlight

+1

So oder so, danke. Hat super funktioniert. – Xoax

0

Es wirft einen Fehler auf der Linie

return reverseCraft [5];

weil es kein reverseCraft [5] gibt.

Das erste Element von reverseCraft ist reverseCraft [0] und das letzte Element ist reverseCraft [4].

+0

Dieser Teil wurde korrigiert. Vielen Dank – Xoax

Verwandte Themen