private void ReviewCandidates() { CandidateSolutions = CandidateSolutions .AsParallel() .Where(candidate => candidate.IsCandidateSolutionFor(this)) .ToList(); }
public PicrossLine GetDeterminableCells() { if (!IsValid) { return(new PicrossLine(Length, PicrossCellState.Undetermined)); } PicrossLine determinableCells = new PicrossLine(CandidateSolutions.First()); foreach (var candidateSolution in CandidateSolutions.Skip(1)) { determinableCells.And(candidateSolution); } return(determinableCells); }