我正在使用 c# 语言从 asp.net 的目录中获取文件:
string[] array=Directory.GetFiles(Server.MapPath("Image"));
我的图片文件夹有Image1.jpg、Image2.jpg、Image3.jpg......Image100.jpg等图片。
我的问题是,我没有按顺序获取图像文件。我如何获取图像文件以便从 Image1 到 Image100....
是的...我自己解决了...这是解决方案:
var arr = (from u in Directory.GetFiles(Server.MapPath("Images")) let fi = new FileInfo(u) orderby fi.CreationTime select u);
最佳答案
使用 LINQ OrderBy
:
string[] array = Directory.GetFiles(Server.MapPath("Image"))
.OrderBy(x => x)
.ToArray();
或者不使用 LINQ,使用 Array.Sort
方法:
string[] array = Directory.GetFiles(Server.MapPath("Image"));
Array.Sort(array);
但它将使用默认字符串比较进行排序,因此 Image100
将在 Image2
之前。
仅使用数字排序会有点棘手,但您可以使用 linq 来完成:
string[] array = (from f in Directory.GetFiles(Server.MapPath("Image"))
let n = int.Parse(f.Replace("Image", string.Empty).Replace(".jpg", string.Empty))
order by n
select f).ToArray();
关于c# - 如何在 asp.net 中按顺序从目录中获取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18779577/