Entwickler-Ecke
Basistechnologien - Der Index was ausserhalb des Arraybereichs?
peterhans - Mo 08.09.08 00:39
Titel: Der Index was ausserhalb des Arraybereichs?
Hallo zusammen
Ich versuche schon seit einigen Stunden, 6 verschiedene Zahlen auszugeben. Jedoch scheitere ich immer an MSMVS Problemen..
Hier mein Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| using System; using System.Collections.Generic; using System.Text;
namespace ConsoleApplication20 { class Program { static void Main(string[] args) { bool neu; int[] arr; arr = new int[5]; Random zahlx = new Random();
for (int i = 0; i <= 6; i++) { do { arr[i] = Convert.ToInt32(zahlx.Next(1, 42)); neu = true; for (int k = 0; k < i; k++) { if (arr[k] == arr[i]) { neu = false; }
} } while (!neu); } for (int m = 1; m <= 6; m++) { Console.WriteLine(arr[m]); Console.WriteLine(' '); } Console.ReadLine(); } } } |
Könnt ihr mir sagen, was ich falsch gemacht habe? Der Fehler zeigt immer auf die Linie 23!
Dort steht bei mir: arr[i] = Convert.ToInt32(zahlx.Next(1, 42));
Mfg
peter
Moderiert von
Kha: Topic aus C# - Die Sprache verschoben am Mo 08.09.2008 um 12:33
Skiller-1988 - Mo 08.09.08 07:36
Ganz einfach wie dei Fehlermeldung schon sagt der index ( also der zähler im array) ist außerhalb des Bereiches.
Grund dafür ist das du ganz dein Array mit 5 initalisierst ( arr = new int[5]; ), das heißt i sollte von 0 - 4 laufen, deine Abbruchsbedingung ( int i = 0; i <= 6; i++ ) läßt aber i von 0 - 6 laufen und ab 5 ist halt der index auserhalb des Arrays.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!