Показать сообщение отдельно

  #9  
Старый 20.03.2010, 05:31
0kt0ber
Новичок
Регистрация: 28.01.2010
Сообщений: 15
С нами: 8570766

Репутация: 17
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.IO;

class Program
{
     static void Main()
    {
           // Get all files in Documents
            List<string> dirs = FileHelper.GetFilesRecursive(@"C:\Temp");
            foreach (string p in dirs)
            {
                Console.WriteLine(p);
            }
            // Write count
            Console.WriteLine("Count: {0}", dirs.Count);
            Console.Read();
        }
    }

    static class FileHelper
    {
        public static List<string> GetFilesRecursive(string b)
        {
            // 1.
            // Store results in the file results list.
            List<string> result = new List<string>();

            // 2.
            // Store a stack of our directories.
            Stack<string> stack = new Stack<string>();

            // 3.
            // Add initial directory.
            stack.Push(b);

            // 4.
            // Continue while there are directories to process
            while (stack.Count > 0)
            {
                // A.
                // Get top directory
                string dir = stack.Pop();

                try
                {
                    // B
                    // Add all files at this directory to the result List.
                    result.AddRange(Directory.GetFiles(dir, "*.*"));

                    // C
                    // Add all directories at this directory.
                    foreach (string dn in Directory.GetDirectories(dir))
                    {
                        stack.Push(dn);
                    }
                }
                catch
                {
                    // D
                    // Could not open the directory
                }
            }
            return result;
        }
    }
Тут
 
Ответить с цитированием