DirectoryInfo dir = new DirectoryInfo("C:\Temp");
IEnumerable<FileInfo> filesList = dir.getFiles("*.zip", SearchOption.TopDirectoryOnly);
我尝试使用testList.OrderBy(f=>f.Name)
之类的东西,但它不起作用。它给了我一个错误。
答案 0 :(得分:0)
我试过......但它没有用。它给了我一个错误
您有正确的想法,使用LINQ
和OrderBy
,并且可能在代码的其他部分遇到错误。一个可能的罪魁祸首是路径中未转义的反斜杠,需要@
或\\
。
以下代码块在Linqpad中运行时没有错误来过滤和排序c:\temp
文件夹中的.txt文件。将OrderBy
更改为OrderByDescending
按预期反转结果。
void Main()
{
DirectoryInfo dir = new DirectoryInfo(@"C:\Temp");
IEnumerable<FileInfo> filesList = dir.GetFiles("*.txt", SearchOption.TopDirectoryOnly);
// Iterate on the sorted set
foreach(var fileInfo in filesList.OrderBy(fileInfo => fileInfo.Name))
{
Console.WriteLine(fileInfo.Name);
}
}