文字列[]の配列に文字列を追加するには?.Add関数はありません。

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`を文字列に変換して配列に追加したいと思います。どのようにすればよいでしょうか?

ソリューション

配列は長さが固定されているので、アイテムを追加することはできません。あなたが探しているのは List で、これは list.ToArray() を使って後で配列に変えることができます。

解説 (2)

System.Collections.GenericのListを使用しています。

List myCollection = new List();

…

myCollection.Add(aString);

または、ショートハンド(コレクションイニシャライザを使用)。

List myCollection = new List {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;
}
解説 (2)
string[] coleccion = Directory.GetFiles(inputPath)
    .Select(x => new FileInfo(x).Name)
    .ToArray();
解説 (0)