C# 如何在asp.net中按顺序从目录中获取文件?
我正在使用c语言从asp.net目录中获取文件:C# 如何在asp.net中按顺序从目录中获取文件?,c#,asp.net,linq,io,directory,C#,Asp.net,Linq,Io,Directory,我正在使用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.Get
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();
使用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();
像这样尝试
var images = from img in Directory.GetFiles(Server.MapPath("Image"))
orderby img descending
select img;
或者,作为替代方案,您可以使用
像这样尝试
var images = from img in Directory.GetFiles(Server.MapPath("Image"))
orderby img descending
select img;
或者,作为替代方案,您可以使用
您可以这样使用linq:
Directory.GetFiles(Server.MapPath("Image")).OrderBy(c => c.Name).ToList();
您可以这样使用linq:
Directory.GetFiles(Server.MapPath("Image")).OrderBy(c => c.Name).ToList();
这会奏效的
List<string> s = new List<string>();
s.Add("image1.jpg");
s.Add("image10.jpg");
s.Add("image3.jpg");
s.Add("image45.jpg");
List<string> lst = s.OrderBy(x => int.Parse(x.Split('.')[0].Split(new string[] { "image" }, StringSplitOptions.None)[1])).ToList();
List s=新列表();
s、 添加(“image1.jpg”);
s、 添加(“image10.jpg”);
s、 添加(“image3.jpg”);
s、 添加(“image45.jpg”);
List lst=s.OrderBy(x=>int.Parse(x.Split('.')[0].Split(新字符串[]{“image”},StringSplitOptions.None)[1])).ToList();
这将起作用
List<string> s = new List<string>();
s.Add("image1.jpg");
s.Add("image10.jpg");
s.Add("image3.jpg");
s.Add("image45.jpg");
List<string> lst = s.OrderBy(x => int.Parse(x.Split('.')[0].Split(new string[] { "image" }, StringSplitOptions.None)[1])).ToList();
List s=新列表();
s、 添加(“image1.jpg”);
s、 添加(“image10.jpg”);
s、 添加(“image3.jpg”);
s、 添加(“image45.jpg”);
List lst=s.OrderBy(x=>int.Parse(x.Split('.')[0].Split(新字符串[]{“image”},StringSplitOptions.None)[1])).ToList();
sorry…not worked…使用最后一个选项时,我收到一条消息,说明输入字符串的格式不正确..sorry…not worked…使用最后一个选项时,我收到一条消息,说明输入字符串的格式不正确..实际上。。imagename(如Image1.jpg)是字符串格式的..因此orderby无法正常工作..实际上。。imagename(如Image1.jpg)是字符串格式。因此orderby无法正常工作。。。