查询文件夹中的文件数量
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication4
{
     public partial class Form1 : Form
     {
         public Form1()
         {
             InitializeComponent();
         }
         private void Form1_Load(object sender, EventArgs e)
         {
         }
         public void Searchfile(string Directory)
         {
             int countfile = 0;//文件数量
             int countdir = 0;//文件夹数量
             DirectoryInfo dir = new DirectoryInfo(Directory);
             FileSystemInfo[] fi = dir.GetFileSystemInfos();//获取文件夹下的文件
             foreach (FileSystemInfo f in fi)
             {
                 if (f is DirectoryInfo)         //判断是否为文件夹
                 {
                     countdir += 1;
                     Searchfile(f.FullName);       //递归调用                      
                 }
                 else
                 {
                     countfile += 1;
                 }
             }
             label1.Text=string.Format("该目录下一共有{0}个文件夹,有{1}文件",countdir,countfile);              
         }
         private void button1_Click(object sender, EventArgs e)
         {
             Searchfile(textBox1.Text);
         }
     }
}
我知道这里的递归调用有点问题,每次递归都会初始countfile 和 countdir这两个量,不知道该怎么改写这段程序?
------解决方案--------------------
放到外面去,累计