Is there a specific reason why an array is required? If you don't know the size ahead of time, you can use List<String>
List<String> list = new List<String>();
list.Add("Hello");
list.Add("world");
list.Add("!");
Console.WriteLine(list[2]);
This will give you this output
!