private static void SequentialFinding(List<Piece> patternList, Piece[] pieceArray) { foreach (var pattern in patternList) { var analog = new Piece(); var data = pieceArray.Where(x => !x.used && x.sizeSum == pattern.sizeSum && x.doubleDotCount == pattern.doubleDotCount); analog = FindAnaloguePiece(data, pattern); if (analog != null) { analog.used = true; analog.wPosition = pattern.wPosition; analog.dPosition = pattern.dPosition; analog.hPosition = pattern.hPosition; } } }