Directory.EnumerateFilesvs和有GetFiles什么區別?顯然,一個返回數組,另一個返回Enumerable。還要別的嗎?
3 回答

慕少森
TA貢獻2019條經驗 獲得超9個贊
從文檔:
EnumerateFiles和GetFiles方法的區別如下:使用EnumerateFiles時,可以在開始返回整個集合之前開始枚舉名稱集合;否則,您可以開始枚舉名稱集合。使用GetFiles時,必須等待返回整個名稱數組,然后才能訪問該數組。因此,當您處理許多文件和目錄時,EnumerateFiles可能會更有效。
因此,基本上,EnumerateFiles返回值a IEnumerable可以稍作延遲評估,而GetFiles返回值a string[]必須先完全填充后才能返回。

慕哥6287543
TA貢獻1831條經驗 獲得超10個贊
使用EnumerateFiles時,如果再使用,則所有速度都會丟失.Last
。這當然是有道理的,因為要獲取最后一個文件,將需要枚舉所有文件,然后獲取最后一個文件。
但是,使用.First
或.FirstOrDefault
變得非常快,因為它只是抓住了第一項并繼續前進。
- 3 回答
- 0 關注
- 2682 瀏覽
添加回答
舉報
0/150
提交
取消