Поскольку вы указали, что массив всегда будет иметь размер 2, я предлагаю вам использовать другой тип данных.Например, tuple было бы более уместным, поскольку на самом деле это пары значений.
Например, вы можете определить набор пар:
List<(double, double)> pairs = new List<(double, double)>(); //C# 7.1+
List<Tuple<double, double>> pairsCollection = new List<Tuple<double, double>>(); // C# 7 or less
Заполните это следующим образом:
pairs.Add((45.5, 23.6));
pairs.Add((34.54, 98.34));
pairs.Add((45.5, 23.6));
И затем, просто используйте метод Distinct
, чтобы удалить дубликаты:
pairs.Distinct();
Будет выведено:
{{45.5, 23.6}, {34.54, 98.34}}
Кроме того, если вы не можете изменить тип данных, вы можете проецировать коллекцию в коллекцию пар, и чем ее отличать:
List<double[]> collection = new List<double[]>()
{
new double[]{45.5, 23.6},
new double[]{34.54, 98.34},
new double[]{45.5, 23.6}
};
var pairs = collection.Select(pa => (pa[0], pa[1]));
var distinctPairs = pairs.Distinct();