As mr Simmons stated, this is where you're wrong:
for (int i = 1; i <=can_Count; i++)
It should be:
for (int i = 1; i < can_count; i++)
You're getting the system out of range exception because you're trying to access data in the array where there is none.
Example, say your array has a count of 4. The first element in the array is located in array[0] and the last in array[3]. array[4] does not exist and if you're trying to access information in it, you will get the system out of range exception.
0,1,2,3 is actually 4 elements in the array
This happens when your looping for i <=can_Count, it should be i <can_Count.