public static long DirSize(DirectoryInfo d) 
    {    
        
long Size = 0;    
        
// 所有文件大小.
        FileInfo[] fis = d.GetFiles();
        
foreach (FileInfo fi in fis) 
        {      
            Size 
+= fi.Length;    
        }
        
// 遍历出当前目录的所有文件夹.
        DirectoryInfo[] dis = d.GetDirectories();
        
foreach (DirectoryInfo di in dis) 
        {
            Size 
+= DirSize(di);   //这就用到递归了,调用父方法,注意,这里并不是直接返回值,而是调用父返回来的
        }
        
return(Size);  
    }

相关文章: