我只想从一个目录返回10个文件。这个是可能的吗?
DirectoryInfo d = new DirectoryInfo(HttpContext.Current.Server.MapPath("~/xml"));
FileInfo[] files = d.GetFiles("*.xml");
这样可以返回所有XML文件,但我只想得到前十个。
发布于 2011-05-05 14:40:55
您可以添加扩展名方法采取( 10 )只抓取前10个文件。
var d = new DirectoryInfo(HttpContext.Current.Server.MapPath("~/xml"));
var files = d.GetFiles("*.xml").OrderByDescending(fi=>fi.LastWriteTime).Take(10);
发布于 2011-05-05 14:47:44
如果您使用的是.NET4,那么您可能应该使用EnumerateFiles
和Take
扩展方法:
var d = new DirectoryInfo(HttpContext.Current.Server.MapPath("~/xml"));
FileInfo[] files = d.EnumerateFiles("*.xml").Take(10).ToArray();
发布于 2011-05-05 14:52:26
你必须和杰克说的一样,但不是FileInfo[] files
DirectoryInfo d = new DirectoryInfo("~/xml");
IEnumerable< FileInfo> files = d.GetFiles().Take(10);
OR
DirectoryInfo d = new DirectoryInfo("~/xml");
FileInfo[] files = d.GetFiles().Take(10).ToArray();
https://stackoverflow.com/questions/5899561
复制相似问题