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;
}
Vorrei convertire il FI.Name
in una stringa e poi aggiungerlo al mio array. Come posso farlo?
Usa List
List<string> myCollection = new List<string>();
…
myCollection.Add(aString);
Oppure, shorthand (usando l'inizializzatore delle collezioni):
List<string> myCollection = new List<string> {aString, bString}
Se volete davvero un array alla fine, usate
myCollection.ToArray();
Potrebbe essere meglio astrarre ad un'interfaccia, come IEnumerable, e poi semplicemente restituire la collezione.
Modifica: se devi usare un array, puoi preallocarlo alla giusta dimensione (cioè il numero di FileInfo che hai). Poi, nel ciclo foreach, mantieni un contatore per l'indice dell'array che devi aggiornare successivamente.
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;
}