第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

排序Directory.GetFiles()

排序Directory.GetFiles()

手掌心 2019-10-18 10:47:00
System.IO.Directory.GetFiles()返回string[]。返回值的默認(rèn)排序順序是什么?我是按名稱假設(shè),但是如果是這樣的話,當(dāng)前的文化會(huì)對(duì)它產(chǎn)生多大影響?您可以將其更改為創(chuàng)建日期嗎?更新: MSDN指出,不能保證.Net 3.5的排序順序,但是該頁面的2.0版本完全沒有說明任何內(nèi)容,而且兩個(gè)頁面都無法幫助您按創(chuàng)建或修改時(shí)間進(jìn)行排序。一旦擁有數(shù)組(僅包含字符串),該信息就會(huì)丟失。我可以構(gòu)建一個(gè)比較器,以檢查它獲取的每個(gè)文件,但這意味著在假定.GetFiles()方法已經(jīng)執(zhí)行此操作時(shí),將重復(fù)訪問文件系統(tǒng)。似乎效率很低。
查看完整描述

3 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

如果您對(duì)文件的屬性(例如CreationTime)感興趣,那么使用System.IO.DirectoryInfo.GetFileSystemInfos()會(huì)更有意義。然后,可以使用System.Linq中的一種擴(kuò)展方法對(duì)它們進(jìn)行排序,例如:


DirectoryInfo di = new DirectoryInfo("C:\\");

FileSystemInfo[] files = di.GetFileSystemInfos();

var orderedFiles = files.OrderBy(f => f.CreationTime);

編輯-抱歉,我沒有注意到.NET2.0標(biāo)簽,因此請(qǐng)忽略LINQ排序。雖然仍然保留使用System.IO.DirectoryInfo.GetFileSystemInfos()的建議。


查看完整回答
反對(duì) 回復(fù) 2019-10-18
?
12345678_0001

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊

在.NET 2.0中,您需要使用Array.Sort對(duì)FileSystemInfos進(jìn)行排序。


另外,您可以使用Comparer委托來避免只為比較而聲明一個(gè)類:


DirectoryInfo dir = new DirectoryInfo(path);

FileSystemInfo[] files = dir.GetFileSystemInfos();


// sort them by creation time

Array.Sort<FileSystemInfo>(files, delegate(FileSystemInfo a, FileSystemInfo b)

                                    {

                                        return a.LastWriteTime.CompareTo(b.LastWriteTime);

                                    });


查看完整回答
反對(duì) 回復(fù) 2019-10-18
  • 3 回答
  • 0 關(guān)注
  • 1643 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)