Прочитать на английском

Поделиться через


ParallelEnumerable.OrderBy Метод

Определение

Выполняет сортировку параллельно элементов последовательности в порядке возрастания.

Перегрузки

OrderBy<TSource,TKey>(ParallelQuery<TSource>, Func<TSource,TKey>)

Выполняет сортировку параллельно элементов последовательности в порядке возрастания в соответствии с ключом.

OrderBy<TSource,TKey>(ParallelQuery<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Выполняет сортировку параллельно элементов последовательности в порядке возрастания с помощью указанного средства сравнения.

OrderBy<TSource,TKey>(ParallelQuery<TSource>, Func<TSource,TKey>)

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs

Выполняет сортировку параллельно элементов последовательности в порядке возрастания в соответствии с ключом.

public static System.Linq.OrderedParallelQuery<TSource> OrderBy<TSource,TKey> (this System.Linq.ParallelQuery<TSource> source, Func<TSource,TKey> keySelector);

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

TSource

Тип элементов source.

TKey

Тип ключа, возвращаемого keySelector.

Параметры

source
ParallelQuery<TSource>

Последовательность значений для упорядочивания.

keySelector
Func<TSource,TKey>

Функция для извлечения ключа из элемента.

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

УпорядоченныйParallelQuery{TSource}, элементы которого сортируются в соответствии с ключом.

Исключения

source или keySelector является пустой ссылкой (Nothing в Visual Basic).

Запрос был отменен с маркером, переданным через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

Во время оценки запроса произошло одно или несколько исключений.

Комментарии

В отличие от последовательной реализации, это не стабильная сортировка. Чтобы добиться стабильной сортировки, измените запрос формы: var упорядочен = источник. Select(e,i) => new { E=e, I=i}. OrderBy((v) => v.e. ThenBy(v => v.i). Select(v) => v.e);

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

OrderBy<TSource,TKey>(ParallelQuery<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs

Выполняет сортировку параллельно элементов последовательности в порядке возрастания с помощью указанного средства сравнения.

public static System.Linq.OrderedParallelQuery<TSource> OrderBy<TSource,TKey> (this System.Linq.ParallelQuery<TSource> source, Func<TSource,TKey> keySelector, System.Collections.Generic.IComparer<TKey> comparer);
public static System.Linq.OrderedParallelQuery<TSource> OrderBy<TSource,TKey> (this System.Linq.ParallelQuery<TSource> source, Func<TSource,TKey> keySelector, System.Collections.Generic.IComparer<TKey>? comparer);

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

TSource

Тип элементов source.

TKey

Тип ключа, возвращаемого keySelector.

Параметры

source
ParallelQuery<TSource>

Последовательность значений для упорядочивания.

keySelector
Func<TSource,TKey>

Функция для извлечения ключа из элемента.

comparer
IComparer<TKey>

IComparer{TKey} для сравнения ключей.

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

УпорядоченныйParallelQuery{TSource}, элементы которого сортируются в соответствии с ключом.

Исключения

source или keySelector является пустой ссылкой (Nothing в Visual Basic).

Запрос был отменен с маркером, переданным через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

Во время оценки запроса произошло одно или несколько исключений.

Комментарии

В отличие от последовательной реализации, это не стабильная сортировка. См. примечания для OrderBy подхода к реализации стабильной сортировки.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0