Использовать список из System.Collections.Generic
List<string> myCollection = new List<string>();
…
myCollection.Add(aString);
Если вам действительно нужен массив в конце, используйте
myCollection.ToArray();
Возможно, вам лучше абстрагироваться от интерфейса, такого как IEnumerable, а затем просто вернуть коллекцию.
Edit: если вы должны использовать массив, вы можете предварительно выделить его до нужного размера (то есть количества имеющейся у вас FileInfo). Затем в цикле foreach сохраните счетчик для индекса массива, который необходимо обновить следующим.
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;
}