Categories
SugiBlog ホームページ制作・システム開発

再帰を使わずにディレクトリをコピー(Queueクラス)

// Queueクラスを使用したコピー(再帰を使用しない方法)
Queue q = new Queue();
q.Enqueue(RootDirectory);

while (q.Count > 0)
{
    DirectoryInfo sourceDirectory = (DirectoryInfo)q.Dequeue();
    Target = sourceDirectory.FullName;

    foreach (string file in Directory.GetFiles(Target, pattern))
    {
    	//ここに各ファイルに対する処理を記述
    }

    DirectoryInfo[] dirs = sourceDirectory.GetDirectories();
    foreach (DirectoryInfo s in dirs)
    {
        q.Enqueue(s);
    }
}
// Queue : wrapper
911 views

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*