Use a Lista <T> de System.Collections.Generic
List<string> myCollection = new List<string>();
…
myCollection.Add(aString);
Ou, abreviação (usando o inicializador de coleção):
List<string> myCollection = new List<string> {aString, bString}
Se você realmente deseja uma matriz no final, use
myCollection.ToArray();
É melhor abstrair para uma interface, como IEnumerable, e apenas retornar a coleção.
Editar: se você precisar usar uma matriz, poderá pré-alocá-la no tamanho certo (ou seja, o número de informações de arquivo que você possui). Em seguida, no loop foreach, mantenha um contador para o índice da matriz que você precisa atualizar a seguir.
private string[] ColeccionDeCortes(string Path)
{
DirectoryInfo X = new DirectoryInfo(Path);
FileInfo[] listaDeArchivos = X.GetFiles();
string[] Coleccion = new string[listaDeArchivos.Length];
int i = 0;
foreach (FileInfo FI in listaDeArchivos)
{
Coleccion[i++] = FI.Name;
//Add the FI.Name to the Coleccion[] array,
}
return Coleccion;
}