Export (0) Print
Expand All

OrderablePartitioner<TSource> Class

Represents a particular manner of splitting an orderable data source into multiple partitions.


Namespace:  System.Collections.Concurrent
Assembly:  mscorlib (in mscorlib.dll)

[HostProtectionAttribute(SecurityAction::LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
generic<typename TSource>
public ref class OrderablePartitioner abstract : public Partitioner<TSource>

Type Parameters


Type of the elements in the collection.

The OrderablePartitioner<TSource> type exposes the following members.

Protected methodOrderablePartitioner<TSource>Called from constructors in derived classes to initialize the OrderablePartitioner<TSource> class with the specified constraints on the index keys.

Public propertyKeysNormalizedGets whether order keys are normalized.
Public propertyKeysOrderedAcrossPartitionsGets whether elements in an earlier partition always come before elements in a later partition.
Public propertyKeysOrderedInEachPartitionGets whether elements in each partition are yielded in the order of increasing keys.
Public propertySupportsDynamicPartitionsGets whether additional partitions can be created dynamically. (Inherited from Partitioner<TSource>.)

Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetDynamicPartitionsCreates an object that can partition the underlying collection into a variable number of partitions. (Overrides Partitioner<TSource>::GetDynamicPartitions().)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetOrderableDynamicPartitionsCreates an object that can partition the underlying collection into a variable number of partitions.
Public methodGetOrderablePartitionsPartitions the underlying collection into the specified number of orderable partitions.
Public methodGetPartitionsPartitions the underlying collection into the given number of ordered partitions. (Overrides Partitioner<TSource>::GetPartitions(Int32).)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Public Extension MethodAsParallel<TSource>Enables parallelization of a query, as sourced by a custom partitioner that is responsible for splitting the input sequence into partitions. (Defined by ParallelEnumerable.)

The implementation of the derived class is responsible for ordering the elements into key-value pairs in whatever manner is appropriate. For more information, see Custom Partitioners for PLINQ and TPL.


The HostProtectionAttribute attribute applied to this type or member has the following Resources property value: Synchronization | ExternalThreading. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.

The following example shows how to implement an orderable partitioner that returns one element at a time:

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

All public members of OrderablePartitioner<TSource> are thread-safe and may be called from multiple threads concurrently.

Community Additions

© 2014 Microsoft