using System.Collections.Generic;
public double X { get; set; }
public double Y { get; set; }
public static void Main()
var items = new List<Field>()
new Field() {Y = 2.817685, X = 1.546723},
new Field() {Y = 2.818071, X = 1.534915},
new Field() {Y = 2.818433, X = 1.523118},
new Field() {Y = 2.82685, X = 1.52028},
new Field() {Y = 2.830284, X = 1.524813},
new Field() {Y = 2.831784, X = 1.536945},
new Field() {Y = 2.846398, X = 1.52745},
new Field() {Y = 2.846483, X = 1.515903},
new Field() {Y = 2.846957, X = 1.504912},
}.OrderBy(p => p.Y).ToList();
var topRow = items.Take(3).OrderBy(p => p.X);
var middleRow = items.Skip(3).Take(3).OrderBy(p => p.X);
var bottomRow = items.Skip(6).Take(3).OrderBy(p => p.X);