Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error : Index was outside the bounds of the array. [duplicate]

Tags:

I'm aware of what the issue is stating but I am confused to how my program is outputting a value that's outside of the array..

I have an array of ints which is 0 - 8 which means it can hold 9 ints, correct? I have an int which is checked to make sure the users input value is 1-9. I remove one from the integer (like so)

if (posStatus[intUsersInput-1] == 0) //if pos is empty {     posStatus[intUsersInput-1] += 1;  }//set it to 1 

then I input 9 myself and I get the error. It should access the last int in the array, so I don't see why I'm getting an error. Relevant code:

public int[] posStatus;         public UsersInput()     {         this.posStatus = new int[8];     }  int intUsersInput = 0; //this gets try parsed + validated that it's 1-9      if (posStatus[intUsersInput-1] == 0) //if i input 9 it should go to 8?     {         posStatus[intUsersInput-1] += 1; //set it to 1     }  

Error:

"Index was outside the bounds of the array." "Index was outside the bounds of the array." 
like image 239
Zain Avatar asked Feb 11 '14 11:02

Zain


People also ask

How do you handle index is outside the bounds of the array in C #?

Use for-each loop: This automatically handles indices while accessing the elements of an array. Use Try-Catch: Consider enclosing your code inside a try-catch statement and manipulate the exception accordingly.


1 Answers

You have declared an array that can store 8 elements not 9.

this.posStatus = new int[8];  

It means postStatus will contain 8 elements from index 0 to 7.

like image 153
M.S. Avatar answered Sep 23 '22 23:09

M.S.