Question

I have an array that stores files from a directory:

    string pathToDirectory = @"C:\files";
    System.IO.DirectoryInfo diDir = new DirectoryInfo(pathToDirectory);
    System.IO.FileInfo[] File_Array = diDir.GetFiles();

    foreach (FileInfo lfileInfo in File_Array)
    {
    }   

I want to try and convert this array into a string type array instead of a FileInfo type. Please let me know how I can go about doing this. Any help would be greatly appreciated.

Was it helpful?

Solution

Use static Directory class instead. It returns files as strings instead of instantiating FileInfo instances which you don't need

string[] files = Directory.GetFiles(pathToDirectory);

If you want just file names without path, then use Path to get rid of directory path:

var fileNames = Directory.GetFiles(pathToDirectory)
                         .Select(Path.GetFileName);

OTHER TIPS

string[] fileNames = File_Array.Select(f => f.Name).ToArray();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top