C# FileInfo Array to String Array

不羁岁月 提交于 2019-12-24 06:57:08

问题


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.


回答1:


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);



回答2:


string[] fileNames = File_Array.Select(f => f.Name).ToArray();


来源:https://stackoverflow.com/questions/18130723/c-sharp-fileinfo-array-to-string-array

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!