CollectionsExtensionsReorderTOrderKey, TValue - метод

Выполняет упорядочивание элементов коллекции по заданной функции getOrderFunc, определяющей ключ, по которому производится упорядочивание. Если при сортировке коллекция была изменена, то она очищается, а затем в неё добавляются упорядоченные элементы. Рекомендуется использовать метод в случае, если получение ключа сортировки в функции getOrderFunc может занять значительное время. Метод возвращает исходную коллекцию values для цепочки вызовов.

Definition

Пространство имён: Tessa.Platform.Collections
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public static ICollection<TValue> Reorder<TOrderKey, TValue>(
	this ICollection<TValue> values,
	Func<TValue, TOrderKey> getOrderFunc,
	IComparer<TOrderKey> comparer = null,
	bool descendingOrder = false
)

Параметры

values  ICollectionTValue
Коллекция значений, сортировка которых выполняется. Не может быть равна null.
getOrderFunc  FuncTValue, TOrderKey
Функция, возвращающая ключ сортировка для каждого из значений в коллекции values.
comparer  IComparerTOrderKey  (Optional)
Компаратор, используемый для сравнения значений по ключу сортировки TOrderKey, или null, если используется компаратор по умолчанию.
descendingOrder  Boolean  (Optional)
Признак того, что вместо сортировки по возрастанию выполняется сортировка по убыванию.

Параметры типа

TOrderKey
Тип ключа сортировки, определяемый для каждого значения в сортируемой коллекции.
TValue
Тип значений, сортировка которых выполняется.

Возвращаемое значение

ICollectionTValue
Исходная коллекция values для цепочки вызовов.

Примечание об использовании

В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа ICollectionTValue. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе Методы расширения (Visual Basic) или Методы расширения (Руководство по программированию в C#).

Заметки

Метод учитывает, что коллекция values может быть объектом ListStorageT со своими правилами добавления строк.

См. также