对数组中的文件名按最近创建的日期/时间降序排序
本文关键字:日期 时间 创建 降序 排序 最近 数组 文件名 | 更新日期: 2023-09-27 18:07:07
我正在构建多个图像库中所有文件的主数组,我希望图像按创建日期/时间降序显示。我需要帮助在我的脚本中实现OrderBy
。这是正确的做法吗?我真的需要一些指导。
// Build Gallery Array
string[] arctopithecusImages = Directory.GetFiles(arctopithecusGalleryPath, "*.jpg");
string[] gulonImages = Directory.GetFiles(gulonGalleryPath, "*.jpg");
string[] scythianWolfImages = Directory.GetFiles(scythianWolfGalleryPath, "*.jpg");
string[] simivulpaImages = Directory.GetFiles(simivulpaGalleryPath, "*.jpg");
string[] succorathImages = Directory.GetFiles(succorathGalleryPath, "*.jpg");
string[] tatusImages = Directory.GetFiles(tatusGalleryPath, "*.jpg");
// Concatenate Gallery Folders into single Array
galleryImages =
Directory.GetFiles(arctopithecusGalleryPath, "*.jpg")
.Concat(gulonImages)
.Concat(scythianWolfImages)
.Concat(simivulpaImages)
.Concat(succorathImages)
.Concat(tatusImages).OrderBy(f => f.All)
.ToArray();
我认为你应该使用DirectoryInfo
类。它将为您提供的不仅仅是文件名。然后你就可以按文件属性
DirectoryInfo diArctopithecusDirectory = new DirectoryInfo(arctopithecusGalleryPath);
FileInfo[] arctopithecusImages = diArctopithecusDirectory.GetFiles("*.jpg");
DirectoryInfo diGulonImagesDirectory = new DirectoryInfo(gulonGalleryPath);
FileInfo[] arctopithecusImages = diGulonImagesDirectory.GetFiles("*.jpg");
DirectoryInfo diScythianWolfDirectory = new DirectoryInfo(scythianWolfGalleryPath);
FileInfo[] scythianWolfImages = diScythianWolfDirectory.GetFiles("*.jpg");
FileInfo[] result = arctopithecusImages.Union(arctopithecusImages)
.Union(scythianWolfImages)
.OrderByDescending(p => p.CreationTime)
.ToArray();
如果你只需要文件名,你可以这样做
string[] result = arctopithecusImages.Union(arctopithecusImages)
.Union(scythianWolfImages)
.OrderByDescending(p => p.CreationTime)
.Select(x => x.Name)
.ToArray();