日期:2014-05-18  浏览次数:20834 次

请问下这样的目录遍历递归哪里出问题了呢
private void find(DirectoryInfo dir)
  {
  DirectoryInfo[] cdir = dir.GetDirectories();
  foreach (DirectoryInfo x in cdir)
  {
  if(x.name=="") return;
  MessageBox.Show(x.Name);
  if(x.Name=="Tencent") textBox1.Text=x.FullName;}
  find(x);
  }
  }
如果注释掉find(x)的话是能遍历一个目录的所有子文件夹的

------解决方案--------------------
这个本来就不需要判断啊。如果是空数组,本来就不需要执行下面的foreach,跳过foreach后返回到递归的上一层,有问题吗?