Выполняет упорядочивание элементов коллекции по заданной функции getOrderFunc, определяющей ключ, по которому производится упорядочивание. Если при сортировке коллекция была изменена, то она очищается, а затем в неё добавляются упорядоченные элементы.
Рекомендуется использовать метод в случае, если получение ключа сортировки в функции getOrderFunc может занять значительное время.
Метод возвращает исходную коллекцию values для цепочки вызовов.
public static ICollection<TValue> Reorder<TOrderKey, TValue>(
this ICollection<TValue> values,
Func<TValue, TOrderKey> getOrderFunc,
IComparer<TOrderKey>? comparer = null,
bool descendingOrder = false
)
<ExtensionAttribute>
Public Shared Function Reorder(Of TOrderKey, TValue) (
values As ICollection(Of TValue),
getOrderFunc As Func(Of TValue, TOrderKey),
Optional comparer As IComparer(Of TOrderKey) = Nothing,
Optional descendingOrder As Boolean = false
) As ICollection(Of TValue)public:
[ExtensionAttribute]
generic<typename TOrderKey, typename TValue>
static ICollection<TValue>^ Reorder(
ICollection<TValue>^ values,
Func<TValue, TOrderKey>^ getOrderFunc,
IComparer<TOrderKey>^ comparer = nullptr,
bool descendingOrder = false
)[<ExtensionAttribute>]
static member Reorder :
values : ICollection<'TValue> *
getOrderFunc : Func<'TValue, 'TOrderKey> *
?comparer : IComparer<'TOrderKey> *
?descendingOrder : bool
(* Defaults:
let _comparer = defaultArg comparer null
let _descendingOrder = defaultArg descendingOrder false
*)
-> ICollection<'TValue>