GeneticAlgorithms.GeneticSolver.GenerateChildren C# (CSharp) Method

GenerateChildren() private method

private GenerateChildren ( IList parents, Func strategy, string geneSet ) : IEnumerable
parents IList
strategy Func
geneSet string
return IEnumerable
        private IEnumerable<Individual> GenerateChildren(
            IList<Individual> parents,
            Func<Individual, Individual, string, Individual> strategy,
            string geneSet)
        {
            int count = 0;
            while (count < parents.Count)
            {
                int parentAIndex = _random.Next(parents.Count);
                int parentBIndex = _random.Next(parents.Count);
                if (parentAIndex == parentBIndex)
                {
                    continue;
                }
                var parentA = parents[parentAIndex];
                var parentB = parents[parentBIndex];
                yield return strategy(parentA, parentB, geneSet);
                count++;
            }
        }