问题
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