private string[] ColeccionDeCortes(string Path)
{
DirectoryInfo X = new DirectoryInfo(Path);
FileInfo[] listaDeArchivos = X.GetFiles();
string[] Coleccion;
foreach (FileInfo FI in listaDeArchivos)
{
//Add the FI.Name to the Coleccion[] array,
}
return Coleccion;
}
I'gostaria de converter o FI.Name
para uma string e depois adicioná-lo ao meu array. Como eu posso fazer isso?
Use List
List<string> myCollection = new List<string>();
…
myCollection.Add(aString);
Ou, taquigrafia (usando o iniciador de recolha):
List<string> myCollection = new List<string> {aString, bString}
Se você realmente quer um array no final, use
myCollection.ToArray();
Talvez seja melhor você se abstrair para uma interface, como a IEnumerable, do que apenas devolver a coleção.
Edit: Se você necessário usar um array, você pode pré-alocá-lo no tamanho certo (ou seja, o número de FileInfo que você tem). Então, no loop foreach, mantenha um contador para o índice de array 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;
}