C# 如何对IEnumerable进行排序<;FileInfo>;测试列表? DirectoryInfo dir=newdirectoryinfo(“C:\Temp”); IEnumerable filesList=dir.getFiles(“*.zip”,SearchOption.TopDirectoryOnly);

C# 如何对IEnumerable进行排序<;FileInfo>;测试列表? DirectoryInfo dir=newdirectoryinfo(“C:\Temp”); IEnumerable filesList=dir.getFiles(“*.zip”,SearchOption.TopDirectoryOnly);,c#,fileinfo,C#,Fileinfo,我尝试了类似于testList.OrderBy(f=>f.Name)的方法,但它不起作用。这给了我一个错误 我试过。。。但它不起作用。这给了我一个错误 您的想法是正确的,使用了LINQ和OrderBy,并且可能在代码的其他部分遇到了错误。一个可能的罪魁祸首是路径中未被替换的反斜杠,其中需要@或\ 以下代码块在Linqpad中运行时不会出错,可以对myc:\temp文件夹中的.txt文件进行筛选和排序。将OrderBy更改为OrderBy降序 按预期反转结果 void Main() { Direc

我尝试了类似于
testList.OrderBy(f=>f.Name)
的方法,但它不起作用。这给了我一个错误

我试过。。。但它不起作用。这给了我一个错误

您的想法是正确的,使用了
LINQ
OrderBy
,并且可能在代码的其他部分遇到了错误。一个可能的罪魁祸首是路径中未被替换的反斜杠,其中需要
@
\

以下代码块在Linqpad中运行时不会出错,可以对my
c:\temp
文件夹中的.txt文件进行筛选和排序。将
OrderBy
更改为
OrderBy降序
按预期反转结果

void Main()
{
DirectoryInfo dir=新的DirectoryInfo(@“C:\Temp”);
IEnumerable filesList=dir.GetFiles(“*.txt”,SearchOption.TopDirectoryOnly);
//在排序集上迭代
foreach(filelist.OrderBy中的var fileInfo(fileInfo=>fileInfo.Name))
{
Console.WriteLine(fileInfo.Name);
}
}

您遇到的错误是什么?另外,请标记您正在查看的语言。这可以让那些知道你想要什么的人看到这个问题,就像LordBaconPants说的那样,如果你再提供几行代码(最好是在你引用的代码行之后),那么会员回答你的问题就会更容易。
DirectoryInfo dir = new DirectoryInfo("C:\Temp");
IEnumerable<FileInfo> filesList = dir.getFiles("*.zip", SearchOption.TopDirectoryOnly);