The problem is that it does work: it is trying to do exactly what you told it too!
But...integers and strings are different: integers are Value types, and strings are Reference types.
So when you create an array of integers:
int myInts = new int;
You get an array of ten integers, filled with the default value, which is zero;
But the same code for strings:
string myStrings = new string;
Creates an array of ten references to strings, filled with teh defautl value for a Referance type, which is
Try this instead:
for (int i = 0; i < index; i++)