我正在尋找迭代兩個目錄。我知道可用的選項to iterate through each directory並將其中找到的所有詳細信息的列表存儲在列表中。我想知道是否有一種更好的方式在C#中實現這一點,而無需遍歷每個目錄並將詳細信息存儲在單獨的列表中。要求是在遍歷目錄中的所有內容時,我想比較每個項目該目錄到第二個目錄中的目錄遍歷兩個目錄
遍歷兩個目錄
回答
我想知道是否有更好的方式在C#中實現此目的,而無需遍歷每個目錄並將詳細信息存儲在單獨的列表中。
在兩個目錄上使用EnumerateFiles
,將zip-join連接起來,然後通過foreach循環運行連接。
var firstFiles = Directory.EnumerateFiles(...);
var secondFiles = Directory.EnumerateFiles(...);
var joined = firstFiles.Zip(secondFiles,
(first, second) => new { First = first, Second = second });
foreach(var pair in joined)
{
// now do something with pair.First and pair.Second
}
精確的答案。非常感謝你。在我必須經歷的所有審訊之後,我無法避免「謝謝」。 – Pete
@Pete:一個幸運的猜測;你的問題很不明確。 –
@Pete:請記住,「同時」具有非常具體的含義;這意味着兩件事實際上同時發生,而這對單個磁盤來說非常困難。 I/O事件的時間可能非常棘手;如果你有一個性能問題,包括在磁盤上等待的高延遲,那麼你不需要同時性,你想要的是相反的。你想要一個異步工作流程。 –
- 1. 遍歷對兩個文件在目錄
- 2. 遍歷目錄
- 3. 遍歷目錄
- 4. Unix:遍歷一個目錄
- 5. 遍歷目錄樹
- 6. R:遍歷目錄
- 7. Applescript遍歷目錄
- 8. 目錄遍歷c
- 9. 用php遍歷目錄?
- 10. Ruby中的目錄遍歷
- 11. 目錄遍歷問題c#
- 12. 使用Node.js遍歷目錄
- 13. 遍歷目錄路徑
- 14. 通過http遍歷目錄
- 15. 目錄遍歷bash shell
- 16. 遞歸目錄遍歷
- 17. Perl子目錄遍歷
- 18. perl的遍歷目錄
- 19. 目錄遍歷攻擊
- 20. 用Gulp遍歷目錄?
- 21. 遍歷目錄使用Java
- 22. 笨 - 目錄遍歷 - sanitize_filename()
- 23. 遍歷多個目錄在Groovy
- 24. 如何遍歷一個目錄,而不進入子目錄
- 25. 如何遍歷目錄和cd到每個目錄
- 26. 如何遍歷記錄集兩次?
- 27. Ansible:遍歷多個{{項目}}
- 28. 遍歷list_iterator兩次
- 29. 外殼腳本遍歷目錄
- 30. 只遍歷特定的python目錄
你試過了什麼?具有並行化和線程安全集合類型的東西。 – CodeCaster
你爲什麼需要這個?你只是想要任意的文件對嗎?或者你想找到像匹配文件的東西?它可以像Directory.EnumerateFiles(...).zip(Directory.Enumerate.Files(...),...)...'... – Haukinger
那麼簡單?你確切的要求是什麼?它可以用linq連接來解決。 – Arshad