C#以排列组合中的“组合”方式遍历某个文件夹下的所有文件
来源:互联网 发布:windows平板手势 编辑:程序博客网 时间:2024/05/02 02:03
参考自:http://blog.csdn.net/zmazon/article/details/8315418#comments
private void button1_Click(object sender, EventArgs e) { //temp文件夹下存放着我们的环境因子 DirectoryInfo folder = new DirectoryInfo(@"E:\work\test\data\temp"); string fileName; FileInfo[] file = folder.GetFiles("*.asc");//只读取asc文件 string[] AttributeFiles = new string[file.Length]; for (int i = 0; i < file.Length; i++) { fileName = folder + "\\" + file[i].ToString(); AttributeFiles[i] = fileName; } int r = 3;//组合数,即C(r,n)中的r if (null == AttributeFiles || AttributeFiles.Length == 0 || r <= 0 || r > AttributeFiles.Length) { MessageBox.Show("请检查文件夹的文件是否为空,参数n的设置是否有误。"); } string[] AttributeFilesResult = new string[r]; getCombination(AttributeFiles, r, 0, AttributeFilesResult, 0); } private void getCombination(string[] a, int r, int begin, string[] b, int index) { string AttributeFile = ""; if (r == 0) { for (int i = 0; i < index; i++) { AttributeFile = AttributeFile + b[i] + " "; } Console.WriteLine("AttributeFile=" + AttributeFile); } for (int i = begin; i < a.Length; i++) { for (int j = 0; j < r; j++) { if (j % r != 0) { b[index] = a[i] + "#";//遍历文件,生成路径+文件名,在每个路径文件名后面加“#”号,末尾元素不加 } else { b[index] = a[i]; } } getCombination(a, r-1,i+1,b,index+1); } }
程序部分输出结果如下(C(3,4),从文件夹中的4个文件中选出r=3的组合):
AttributeFile=E:\work\test\data\temp\horizc.asc# E:\work\test\data\temp\profc.asc# E:\work\test\data\temp\slope.asc AttributeFile=E:\work\test\data\temp\horizc.asc# E:\work\test\data\temp\profc.asc# E:\work\test\data\temp\twi.asc AttributeFile=E:\work\test\data\temp\horizc.asc# E:\work\test\data\temp\slope.asc# E:\work\test\data\temp\twi.asc AttributeFile=E:\work\test\data\temp\profc.asc# E:\work\test\data\temp\slope.asc# E:\work\test\data\temp\twi.asc
0 0
- C#以排列组合中的“组合”方式遍历某个文件夹下的所有文件
- C#遍历文件夹下的所有文件及文件夹
- C# 遍历目录下所有文件夹下的文件
- C# 遍历目录下所有文件夹下的文件
- java遍历某个文件夹下的所有文件 以及删除所有文件
- C#遍历文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- CSDN有不少bug啊
- DirectX中的纹理映射相关技术
- 深入理解DIP、IoC、DI以及IoC容器
- 黑马程序员——Java基础---String
- 一位大牛的JAVA学习资料
- C#以排列组合中的“组合”方式遍历某个文件夹下的所有文件
- Number of Digit One
- Red Hat (Cent OS)安装tmux工具
- 适配器模式原理及实例介绍
- git服务器搭建
- 我的Java开发学习之旅------>Workspace in use or cannot be created, choose a different one.--错误解决办法
- jquery的setinterval使用方法
- [Qt] Qt时间 - QDateTime
- 简易的圆角ImageView实现