using System;
using System.Linq;
using System.Collections.Generic;
public class Program
{
public class A
public A(float x1, float x2)
this.x1 = x1;
this.x2 = x2;
}
public float x1;
public float x2;
public static void Main()
List<A> list = new List<A>();
list.Add(new A(5, 1));
list.Add(new A(7, 2));
list.Add(new A(4, 3));
list.Add(new A(2, 4));
var ordered = list
.OrderByDescending(x => x.x1)
.ThenByDescending(x => x.x2);
foreach(var val in ordered)
Console.WriteLine($"{val.x1} - {val.x2}");