Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# s) }; 列表批次=新列表(); 列表批次=新列表(); foreach(imageGroups中的var组) { batch=batch.Union(group.Files.ToList(); 如果(batch.Count>=batchSize) { _C#_Algorithm_Lambda_Expression_Linq Query Syntax - Fatal编程技术网

C# s) }; 列表批次=新列表(); 列表批次=新列表(); foreach(imageGroups中的var组) { batch=batch.Union(group.Files.ToList(); 如果(batch.Count>=batchSize) {

C# s) }; 列表批次=新列表(); 列表批次=新列表(); foreach(imageGroups中的var组) { batch=batch.Union(group.Files.ToList(); 如果(batch.Count>=batchSize) { ,c#,algorithm,lambda,expression,linq-query-syntax,C#,Algorithm,Lambda,Expression,Linq Query Syntax,s) }; 列表批次=新列表(); 列表批次=新列表(); foreach(imageGroups中的var组) { batch=batch.Union(group.Files.ToList(); 如果(batch.Count>=batchSize) { 批次。添加(批次); 批次=新列表(); } } } 您不会总是按顺序获取文件。您可以使用 OrderBy 扩展方法进行排序,或者您可以调用列表。排序。您可以定义您认为“适当”和“有意义”的批处理分配吗?@ ZESPRI

s) }; 列表批次=新列表(); 列表批次=新列表(); foreach(imageGroups中的var组) { batch=batch.Union(group.Files.ToList(); 如果(batch.Count>=batchSize) { 批次。添加(批次); 批次=新列表(); } } }
您不会总是按顺序获取文件。您可以使用<代码> OrderBy <代码>扩展方法进行排序,或者您可以调用<代码>列表。排序。您可以定义您认为“适当”和“有意义”的批处理分配吗?@ ZESPRI,请检查两个批次创建示例。第一个是25-25,第二个是25-25-2。在第一个示例中,总共有50个文件。这里,注意ABC和ABCGN(1u不会总是按排序顺序获得文件。您可以使用<代码> OrderBy <代码>扩展方法进行排序,或者您可以调用<代码>列表。排序。您可以定义您认为“适当”和“有意义”的批处理分配吗??@zespri,请检查两个批创建示例。第一个是25-25,第二个是25-25-2。在第一个示例中,共有50个文件。请注意ABC和ABC\n(1)您不会总是按排序顺序获取文件。您可以使用<代码> OrderBy <代码>扩展方法进行排序,或者您可以调用<代码>列表。排序< /代码>。您可以定义您认为“适当”和“有意义”的批处理分配吗??@zespri,请检查两个批创建示例。第一个是25-25,第二个是25-25-2。在第一个示例中,共有50个文件。请注意ABC和ABC\n(1)您不会总是按排序顺序获取文件。您可以使用<代码> OrderBy <代码>扩展方法进行排序,或者您可以调用<代码>列表。排序< /代码>。您可以定义您认为“适当”和“有意义”的批处理分配吗??@zespri,请检查两个批创建示例。第一个是25-25,第二个是25-25-2。在第一个示例中,总共有50个文件。请注意ABC和ABC\n(1
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
    public static void CreateBatch(int batchSize)
    {
        string sourcePath = @"C:\Users\hari\Desktop\test";

        var pdfs = Directory.EnumerateFiles(sourcePath, "*.pdf", SearchOption.TopDirectoryOnly);
        var tiffs = Directory.EnumerateFiles(sourcePath, "*.tiff", SearchOption.TopDirectoryOnly);

        var images = pdfs.Union(tiffs);

        var imageGroups = from image in images
                          group image by Regex.Replace(Path.GetFileNameWithoutExtension(image), @"_\d+$", "") into g
                          select new { GroupName = g.Key, Files = g.OrderBy(s => s) };

        List<List<string>> batches = new List<List<string>>();
        List<string> batch = new List<string>();

        foreach (var group in imageGroups)
        {
            batch = batch.Union(group.Files).ToList<string>();

            if (batch.Count >= batchSize)
            {
                batches.Add(batch);
                batch = new List<string>();
            }
        }            
    }