private void fillBreedingPool(ConcurrentQueue <RouletteResult> results) { var TempBreeginPool = new ConcurrentQueue <Candidate>(); Parallel.For(0, selectionSize, i => { double randomRouletteNumber; randomRouletteNumber = RandomSelector.NextDouble(); Candidate temp = FindCandidate(results, randomRouletteNumber); if (temp != null) { TempBreeginPool.Enqueue(temp); } }); BreedingPool = TempBreeginPool.ToList(); }
private void fillBreedingPool(List <RouletteResult> results) { var TempBreedingPool = new List <Candidate>(); double randomRouletteNumber; for (int i = 0; i < selectionSize; i++) { randomRouletteNumber = RandomSelector.NextDouble(); Candidate temp = FindCandidate(results, randomRouletteNumber); if (temp != null) { TempBreedingPool.Add(temp); } else { i--; } } BreedingPool = TempBreedingPool.ToList(); }