首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于C# 文件查找分组的有关问题.

2012-06-11 
关于C# 文件查找分组的问题......~~~~~~在一个文件夹下面有以下一些文件:1111-20120413010244320-2-3-0000

关于C# 文件查找分组的问题......~~~~~~
在一个文件夹下面有以下一些文件:

1111-20120413010244320-2-3-000011.jpg
1111-20120413010244990_2-3-000012.jpg
1111-20120413010245840-2-3-000013.jpg


1111_20120413012540720-3-3-000011.jpg
1111_20120413012541540_3-3-000012.jpg

1111-20120413012932120-2-3-000011.jpg
1111-20120413014528000-3-3-000011.jpg

1111_20120413022749400_1-3-000011.jpg
1111_20120413022751210_1-3-000012.jpg
1111-20120413022752290-1-3-000013.jpg

1111_20120413022749400_1-3-000021.jpg
1111_20120413022751210_1-3-000022.jpg
1111-20120413022752290-1-3-000023.jpg

文件名末位的1、2、3为一组图片,
找出以上文件中,第3项内容相同且第5项编号(前5位,例如00001)相同的1、2、3三张图片,列出三个文件名,其余不足3张的则删除处理,应得到以下三组结果:

1111-20120413010244320-2-3-000011.jpg,1111-20120413010244990_2-3-000012.jpg,1111-20120413010245840-2-3-000013.jpg

1111_20120413022749400_1-3-000011.jpg,1111_20120413022751210_1-3-000012.jpg,1111-20120413022752290-1-3-000013.jpg

1111_20120413062749400_1-3-000021.jpg,1111_20120413062751210_1-3-000022.jpg,1111-20120413062752290-1-3-000023.jpg


[解决办法]
上述分为5组。判断每组中是否个数为3,不为3的排出。剩下的就是以上的结果了
[解决办法]
这些文件名读到数组中后,最好做一个排序,这样方便你顺序遍历判断,排序后,逐个判断不难吧,你的规则很简单
[解决办法]

C# code
var query = from x in Directory.GetFiles("X:\\path", "*-*-*-*-*.jpg", SearchOption.TopDirectoryOnly)            group x by x.Split('-')[2] + x.Split('-')[3] into g            where g.Count() > 3            select g;foreach (var item in query){    Console.WriteLine(string.Join(", ", item));}
[解决办法]
探讨


[解决办法]
探讨
上述分为5组。判断每组中是否个数为3,不为3的排出。剩下的就是以上的结果了

热点排行