日期:2014-05-20  浏览次数:20780 次

怎么解读这代码,求高手帮我!!!
private void EnumDir(TreeNode node)
  {
  string path = node.Tag.ToString();
  foreach (string dir in Directory.GetDirectories(path))
  {
  TreeNode tmpNode = new TreeNode(dir.Substring(dir.LastIndexOf(@"\")+1));
  tmpNode.Tag = dir;
  tmpNode.ImageIndex = 2;
  tmpNode.SelectedImageIndex = 3;
  node.Nodes.Add(tmpNode);
  }
  node.Expand();
  EnumFile(node);
  }怎么解读这代码,越详细越好,还有GetDirectories的返回值是什么?

------解决方案--------------------
GetDirectories 获取指定目录中子目录的名称。


这个函数的意思 应该是把一个路径下的文件夹名称 映射到一个树上
------解决方案--------------------
private void EnumDir(TreeNode node)
{
string path = node.Tag.ToString();// 从node.Tag中取出一个字符串:path
foreach (string dir in Directory.GetDirectories(path)) //Directory.GetDirectories中遍历字符串
{
TreeNode tmpNode = new TreeNode(dir.Substring(dir.LastIndexOf(@"\")+1));//新建节点tmpNode
tmpNode.Tag = dir;//存储路径
tmpNode.ImageIndex = 2;//图片索引
tmpNode.SelectedImageIndex = 3;//选择图片索引
node.Nodes.Add(tmpNode);//将新建节点加入到树节点中
}
node.Expand();//展开树
EnumFile(node);//递归
}
递归填充树。
------解决方案--------------------
这就是个递归,根据节点名称到指定目录找文件
------解决方案--------------------
Directory.GetDirectories(path))

获得指定目录下的所有子目录,而不是子孙目录
------解决方案--------------------
这里只是根据参数Node的Tag所表示目录地址,来遍历该目录下所有目录,并将目录名作为treeview的一个节点进行添加。。

这里没涉及递归,最后一句是调用EnumFile(TreeNode node)方法
------解决方案--------------------
up..
------解决方案--------------------
探讨
这里只是根据参数Node的Tag所表示目录地址,来遍历该目录下所有目录,并将目录名作为treeview的一个节点进行添加。。

这里没涉及递归,最后一句是调用EnumFile(TreeNode node)方法