I didn't read your code, but just in case, in C# (and almost every C base language) when counting an array/index, the very first position of the array will be 0/zero, it is common to see something like this in a for
for (i = 0:i<=Array.Lenght -1;i++){
//do whatever in here
}
where you substract 1 to the Lenght of the array because even though the array length is 10 you start counting at 0 (0,1,2,3,4,5,6,7,8,9)
I want to die like my grandfather- asleep, not like the passengers in his car, screaming!