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;
}
FI.Name`を文字列に変換して配列に追加したいと思います。どのようにすればよいでしょうか?
System.Collections.GenericのList
List<string> myCollection = new List<string>();
…
myCollection.Add(aString);
または、ショートハンド(コレクションイニシャライザを使用)。
List<string> myCollection = new List<string> {aString, bString}
本当に最後に配列が欲しい場合は
myCollection.ToArray();
IEnumerableのようなインターフェイスに抽象化して、コレクションだけを返したほうがいいかもしれません。
編集:どうしても配列を使いたい場合は、適切なサイズ(つまり、あなたが持っている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;
}