コード例 #1
0
        // return: Is this directory empty?
        static bool WalkDirectoryTree(DirectoryInfo root, IsEmptyDirectory pred)
        {
            DirectoryInfo[] subDirs = root.GetDirectories();

            bool areSubDirsEmpty = true;

            foreach (DirectoryInfo dirInfo in subDirs)
            {
                if (false == WalkDirectoryTree(dirInfo, pred))
                {
                    areSubDirsEmpty = false;
                }
            }

            bool isRootEmpty = pred(root, areSubDirsEmpty);

            return(isRootEmpty);
        }
コード例 #2
0
    // return: Is this directory empty?
    static bool WalkDirectoryTree(DirectoryInfo root, IsEmptyDirectory pred)
    {
        var subDirs = root.GetDirectories();

        var areSubDirsEmpty = true;
        var total           = subDirs.Length;

        for (var index = 0; index < total; index++)
        {
            var dirInfo = subDirs[index];
            if (false == WalkDirectoryTree(dirInfo, pred))
            {
                areSubDirsEmpty = false;
            }
        }

        var isRootEmpty = pred(root, areSubDirsEmpty);

        return(isRootEmpty);
    }
コード例 #3
0
        // return: Is this directory empty?
        static bool WalkDirectoryTree(DirectoryInfo root, IsEmptyDirectory pred)
        {
            DirectoryInfo[] subDirs = root.GetDirectories();

            bool areSubDirsEmpty = true;
            foreach (DirectoryInfo dirInfo in subDirs)
            {
                if ( false == WalkDirectoryTree(dirInfo, pred) )
                    areSubDirsEmpty = false;
            }

            bool isRootEmpty = pred(root, areSubDirsEmpty);
            return isRootEmpty;
        }