using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace VideoConcat.Common.Tools { internal class VideoCombine { static void GenerateCombinations(List> videoLists, int index, List currentCombination, List> result) { if (index == videoLists.Count) { result.Add(new List(currentCombination)); return; } foreach (string video in videoLists[index]) { currentCombination.Add(video); GenerateCombinations(videoLists, index + 1, currentCombination, result); currentCombination.RemoveAt(currentCombination.Count - 1); } } } }