private static IEnumerable <IList <IDataItem> > GenerateCombinations(PairwiseGenerator generator, List <IDataItem>[] itemLists) { int providerCount = itemLists.Length; int[] indices = new int[providerCount]; while (generator.Next(indices)) { IDataItem[] combination = new IDataItem[providerCount]; for (int i = 0; i < providerCount; i++) { combination[i] = itemLists[i][indices[i]]; } yield return(combination); } }
private static IEnumerable<IList<IDataItem>> GenerateCombinations(PairwiseGenerator generator, List<IDataItem>[] itemLists) { int providerCount = itemLists.Length; int[] indices = new int[providerCount]; while (generator.Next(indices)) { IDataItem[] combination = new IDataItem[providerCount]; for (int i = 0; i < providerCount; i++) combination[i] = itemLists[i][indices[i]]; yield return combination; } }