b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

c#递归算法 C#关于递归的好文章?(2)

电脑杂谈  发布时间:2017-02-28 02:23:09  来源:网络整理

DirectoryInfo di=new DirectoryInfo(strBaseDir);//strBaseDir是起始目录,绝对地址 DirectoryInfo[] diA=di.GetDirectories();//获得了所有一级子目录 FileInfo[] fiA=di.GetFiles();//获得了所有起始目录下的文件

要是想获得某一目录下的所有文件和目录(包含所有子目录),那该怎么办呢?目录都是一层套一层的,我们不能预知某个目录的深度,只有获得了父节点,才有可能了解子节点,解决这个问题,只有递归这个概念了。c#递归算法

C#递归的简单理解,它就是一个方法,在这个方法里面,再次调用它本身这个方法,从而描述了某一事物运作的深度…… - - 不废话了,看代码吧:

C#递归实现代码

public ArrayList al=new ArrayList(); //我把ArrayList当成动态数组用,非常好用

public void GetAllDirList(string strBaseDir)

{

DirectoryInfo di=new DirectoryInfo(strBaseDir);

DirectoryInfo[] diA=di.GetDirectories();

for(int i=0;i<diA.Length;i++)

{

al.Add(diA[i].FullName); //diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中

GetAllDirList(diA[i].FullName); //注意:这里使用C#递归的方法

}

}

最后,如何把所有目录信息从ArrayList中取出来呢?如下:

for(int i=0;i<al.Count;i++)

{

//textBox1是容器,拷贝我的代码,注意要换一个你自己的容器

textBox1.AppendText(al[i].ToString()+" ");

}

==============================================================================

bs和CS方法用C#递归方法把数据表加载到treeview控件中

先看一下的结构:

表结构如下所示:

Num Name fatherNum BZ

01 总节点 0 ......

0101 第一个一级节点 01 ......

010101 第一个一级节点的第一个支节点 0101 ......

010102 第一个一级节点的第二个支节点 0101 ......

010103 第一个一级节点的第三个支节点 0101 ......

0102 第二个一级节点 01 ......

010201 第二个一级节点的第一个支节点 0102 ......

0103 第三个一级节点 01 ......

010301 第三个一级节点的第一个支节点 0103 ......

01030101 第三个一级节点的第一个支节点 010301 ......

C/S代码如下:

public void AddTree(string fatherNum, TreeNode pNode)

{

DataView dvTree = new DataView(ds.Tables[0]);

dvTree.RowFilter = "[father Num] = " + fatherNum;

foreach (DataRowView Row in dvTree)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-34912-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 佐仓美咲
      佐仓美咲

      发射数量视情况而定

    热点图片
    拼命载入中...