Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.net中按顺序从目录中获取文件?_C#_Asp.net_Linq_Io_Directory - Fatal编程技术网

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

我正在使用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();

使用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无法正常工作。。。