public List <IColumns> CreateColumns(List <Point> pointsByX) { //**A** ListColumns = new List <IColumns>(); for (int i = 0; i < FieldSize.ColumnsCount; i++) { ListColumns.Add(iColumns.CreateColumn()); } //**B** int Row = 0; foreach (Columns columns in ListColumns) { columns.Column = pointsByX.GetRange(Row, FieldSize.RowsCount); columns.Column = columns.Column.OrderByDescending(p => p.Y).ToList(); Row += FieldSize.RowsCount; } return(ListColumns); }