将FileInfo数组转换为String数组C#
我像这样创建一个FileInfo数组
try { DirectoryInfo Dir = new DirectoryInfo(DirPath); FileInfo[] FileList = Dir.GetFiles("*.*", SearchOption.AllDirectories); foreach (FileInfo FI in FileList) { Console.WriteLine(FI.FullName); } } catch (Exception e) { Console.WriteLine(e.ToString()); }
此数组包含folder = DirPath中的所有文件名
我想到循环遍历FileInfo数组并将其复制到String数组。 这样可以,还是有更清洁的方法?
使用LINQ:
FileList.Select(f => f.FullName).ToArray();
或者,使用Directory
可以直接获取文件名。
string[] fileList = Directory.GetFiles(DirPath, "*.*", SearchOption.AllDirectories);
如果你想转向另一种方式(将字符串数组转换为FileInfo),你可以使用以下方法:
string[] files; var fileInfos = files.Select(f => new FileInfo(f)); List infos = fileInfos.ToList ();
linq是一个很好的解决方案,但对于那些不想使用linq的人,我做了这个function:
static string BlastWriteFile(FileInfo file) { string blasfile = " "; using (StreamReader sr = file.OpenText()) { string s = " "; while ((s = sr.ReadLine()) != null) { blasfile = blasfile + s + "n"; Console.WriteLine(); } } return blasfile; }
试试这个
DirectoryInfo directory = new DirectoryInfo("your path"); List Files = (directory.GetFiles().Where(file => file.LastWriteTime >= date_value)).Select(f => f.Name).ToList();
如果您不想使用日期filter,只需使用以下代码进行转换即可
List logFiles = directory.GetFiles().Select(f => f.Name).ToList();
如果需要文件的完整路径,可以使用FullName
而不是Name
。
上述就是C#学习教程:将FileInfo数组转换为String数组C#分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ctvol.com/cdevelopment/936271.html