以下返回文件夹
03-march
05-may
如何修改以下代码以获得反向
的顺序05-may
03-march
代码:
private void loadGrid()
{
List<FileArchive> fiList = new List<FileArchive>();
String path = Request.QueryString["Path"];
DirectoryInfo info = new DirectoryInfo(path);
FileInfo[] files = info.GetFiles().OrderByDescending(m => m.CreationTime.ToString("yyyyMMdd")).ToArray();
foreach (FileInfo fi in files)
{
FileArchive FA = new FileArchive();
FA.Name = fi.Name;
FA.FullName = fi.FullName;
FA.CreationDate = fi.CreationTime;
FA.RegroupingField =fi.CreationTime.ToString("MM") + "-" +
fi.CreationTime.ToString("MMMM") + " | " + fi.CreationTime.Year;
fiList.Add(FA);
fiList.OrderByDescending(m => m.CreationDate.ToString("MM"));
}
答案 0 :(得分:4)
方法OrderByDescending
没有订购列表。您需要存储和枚举返回值以使用排序列表。
我会移动这一行:
fiList.OrderByDescending(m => m.CreationDate.ToString("MM"));
退出for循环(完成后只需要排序一次),然后改变它:
var sortedList = fiList.OrderByDescending(m => m.CreationDate.ToString("MM"));
此外,在实际日期而不是月份的字符串表示形式上排序会更有效且更不容易出错。为此,请移除ToString
来电并保留日期。
var sortedList = fiList.OrderByDescending(m => m.CreationDate);
请参阅here。