怎么解读这代码,求高手帮我!!!
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..
------解决方案--------------------