我有一个目录,其中所有不同版本的文件都可用。喜欢,
ABC.pdf ABC_1.pdf .......
XYZ.tif ..... XYZ_25.tif
MNO.tiff
我想根据使用的要求制作 n 批 m 文件。
假设,在文件夹中我有 ABC.pdf 到 ABC_24.pdf 和 XYZ.tif 到 XYZ_24.tif 文件。共 50 个文件。我想创建两批,每批 25 个文件。因此,首先(我/如何)需要确保列表中的所有文件都已排序,然后我可以执行一些逻辑将列表分成两个适当的批次。
1) ABC.pdf 到 ABC_24.pdf
2) XYZ.tif 到 XYZ_24.tif
但是如果我有 26 个文件(如开头所述),那么它就像
1) ABC.pdf 到 ABC_24.pdf
2) XYZ.tif 到 XYZ_24.tif
3) ABC_25.pdf 和 XYZ_25.tif
所以,我想在这里正确/有意义地批量分配文件。我宁愿在尽可能少的台词中表演。所以,我尝试了如下的 lambda 表达式:
List<string> strIPFiles = Directory.GetFiles(folderPath, "*.*").
Where(file => file.ToLower().EndsWith("tiff") || file.ToLower().EndsWith("tif") || file.ToLower().EndsWith("pdf")).ToList();
int batches = 2, filesPerBatch = 25; //for example
我需要使用 - strIPFiles.Sort(); 无论如何它会有用还是我总是会得到排序的文件列表?
如何从列表中创建批次 - 使用如上所述的 lambda 表达式?
谢谢你的帮助。