EnumerableRowCollectionExtensions.ThenByDescending<TRow, TKey> Method (OrderedEnumerableRowCollection<TRow>, Func<TRow, TKey>)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Performs a secondary ordering of the rows of a EnumerableRowCollection in descending order according to the specified key. This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.

Namespace:   System.Data
Assembly:  System.Data.DataSetExtensions (in System.Data.DataSetExtensions.dll)

public static OrderedEnumerableRowCollection<TRow> ThenByDescending<TRow, TKey>(
	this OrderedEnumerableRowCollection<TRow> source,
	Func<TRow, TKey> keySelector


Type: System.Data.OrderedEnumerableRowCollection<TRow>

An EnumerableRowCollection containing the DataRow elements to be ordered.

Type: System.Func<TRow, TKey>

A function to extract a key from an element.

Return Value

Type: System.Data.OrderedEnumerableRowCollection<TRow>

An OrderedEnumerableRowCollection<TRow> whose elements are sorted by the specified key.

Type Parameters


The type of the row elements in source, typically DataRow.


The type of the key returned by keySelector.

The use of a ThenByDescending operation requires an existing primary sorting operation using OrderBy.

This method is implemented by using deferred execution. The immediate return value is an object that stores all the information that is required to perform the action. The query represented by this method is not executed until the object is enumerated either by calling its GetEnumerator method directly or by using foreach in Visual C# or For Each in Visual Basic.

.NET Framework
Available since 3.5

ThenByDescending<TSource, TKey>
ThenByDescending Overload
EnumerableRowCollectionExtensions Class
System.Data Namespace

Return to top