• Home »
  • Csharp »
  • Sử dụng đệ quy để lấy danh sách thư mục trong C#

Sử dụng đệ quy để lấy danh sách thư mục trong C#


        Trong ngôn ngữ lập trình C#, thư viện System.IO cung cấp tương đối đầy đủ các đối tượng cho phép bạn thao tác tới các file và các thư mục trên hệ điều hành. Khi cần lấy tất cả các thư mục con bên trong một thư mục nhiều cấp bạn có thể sử dụng phương thức có sẵn GetDirectories(String, String, SearchOption) của lớp Directory hoặc viết một đoạn code sử dụng đệ quy để lấy danh sách thư mục trong C#.

Recursion folder with C#


1.  Sử dụng phương thức 3 tham số GetDirectories(String, String, SearchOption) của lớp Directory

        Phương thức GetDirectories của lớp static có tên Directory, một trong các lớp tiện ích thường được sử dụng để thao tác với thư mục trong thư viện System.IO của ngôn ngữ lập trình C#. Phương thức GetDirectories có 3 hình thái (đa hình). (Chi tiết có xem :  Thao tác với các thư mục trong ngôn ngữ lập trình C#). Hình thái Phương thức 3 tham số sẽ hỗ trợ bạn lấy tất cả các thư mục con ở các cấp khác nhau của một thư mục và trả về một mảng tên thư mục mà nó tìm được.

       Giả sử ta có thư mục đầu vào như trong ảnh, và công việc của ta là liệt kê tất cả các thư mục con của nó :

Recursion folder with C# input




      Ta có đoạn code như sau:

       Kết quả danh sách thư mục hiển thị như sau:

Result of Recursion with C# using Directory Class


2.  Sử dụng phương thức 1 tham số GetDirectories(String) của lớp Directory và đệ quy

       Phương thức một tham số GetDirectories(String) của lớp Directory có cú pháp :

        Trong đó, tham số path là đường dẫn tới thư mục cha và phương thức này trả về các thư mục con cấp một của thư mục cha này. Để lấy tất cả các thư mục con ở các mức thấp hơn chúng ta cần đệ quy như sau:

       Thực thi lời gọi hàm RecursionDirectories và hiển thị danh sách các thư mục lấy được bằng vòng lặp foreach

        Kết quả danh sách thư mục nhận được

Result of Recursion with C# using Recurson

         Nếu không muốn nhận về danh sách các thư mục mà đơn giản chi là hiển thị danh sách thư mục tìm được bạn có thể sử dụng đoạn code sau :

Các bạn có thể tải mã nguồn (Download Source) : Tại đây

      Trong quá trình viết bài có thể không tránh khỏi những sơ xuất hoặc có những gì cần góp ý các bạn vui lòng để comment bên dưới hoặc gửi tới email [email protected].




[Ngôn ngữ lập trình C#]


Related Post

Phản hồi

Phản hồi