Ваш код почти верен - если вы хотите упорядоченную последовательность, вы можете использовать:
IEnumerable<Node> sortedNodes = nodeArray.OrderBy(node => node.getWeight());
Перегрузка, которая принимает IComparer<int>
, не требуется, поскольку существует разумный способ сравнения int по умолчанию.значения.
Или, если вы хотите создать отсортированный массив:
Node[] sortedNodes = nodeArray.OrderBy(x => x.getWeight()).ToArray();
Ваш пример не будет компилироваться, так как не существует неявного преобразования из IEnumerable<Node>
в Node[]
, поэтому вызовдо ToArray
требуется.