CSharp · Console
using System;
using System.Linq;
using System.Collections.Generic;
var witnesses = new List<Witness>
{
new Witness(null, true, 13),
new Witness(null, false, 6),
new Witness(null, false, 2)
};
var sorted = witnesses
.OrderByDescending(x => x.m_hasLOS)
.ThenBy(x => x.m_distanceToSqrt)
.ToList();
foreach (Witness item in sorted)
{
Console.WriteLine($"{item.m_hasLOS}, {item.m_distanceToSqrt}");
}
public class Witness
{
public object m_mobile;
public bool m_hasLOS;
public double m_distanceToSqrt;
public Witness(object m, bool hasLOS, double distanceToSqrt)
{
m_mobile = m;
m_hasLOS = hasLOS;
m_distanceToSqrt = distanceToSqrt;
}
}