Sobald ich die While-Schleife eingeben, löst das Programm Index außerhalb des Bereichs Ausnahme, ohne Zeilen und Spalten Wert zu erhalten. getint ist eine Methode, um Benutzereingaben zu erhalten, während sicherstellen, dass die Werte in Reichweite sind2d Array-Index außerhalb des Bereichs Ausnahme
while(filled>0)
{
row = getint("row: ");
row--;
column = getint("column: ");
column--;
fields[row, column]=getint("value: ");
filled--;
}
edit:
static int getint(string question)
{
string temp;
int tempint=0;
while (check != 0)
{
check = 0;
Console.Write("\nPlease enter the {0}",question);
temp = Console.ReadLine();
if(!int.TryParse(temp, out tempint))
{
check++;
}
if(question.Length<14 & (tempint<1 | tempint>9))
{
check++;
Console.WriteLine("Invalid Input");
}
}
return tempint;
}
Was meinen Sie mit "ohne Zeilen- und Spaltenwert"? Wir haben keine Ahnung, was diese Methoden machen oder wie groß die Felder sind. Bitte geben Sie eine [MCVE] an. –
Wenn die Ausnahme ausgelöst wird, sobald Sie die while-Schleife eingeben, liegt das Problem wahrscheinlich in 'getint()', aber Sie haben diesen Code nicht eingefügt. – itsme86
Viel mehr Code erforderlich. Soll das zum Beispiel von unten nach oben gelesen werden? –