Wintellect.PowerCollections Namespace
Algorithms Class
Algorithms Methods
GhostDoc Pro Sample Help File

Algorithms..::..Range<(Of <(<'T>)>)> Method (IList<(Of <(<'T>)>)>, Int32, Int32)

Returns a view onto a sub-range of a list. Items from list are not copied; the returned IList<T> is simply a different view onto the same underlying items. Changes to list are reflected in the view, and vice versa. Insertions and deletions in the view change the size of the view, but insertions and deletions in the underlying list do not.

Namespace:  Wintellect.PowerCollections
Assembly:  PowerCollections (in PowerCollections.dll)

Syntax


public static IList<T> Range<T>(
	IList<T> list,
	int start,
	int count
)
Public Shared Function Range(Of T) ( _
	list As IList(Of T), _
	start As Integer, _
	count As Integer _
) As IList(Of T)
public:
generic<typename T>
static IList<T>^ Range(
	IList<T>^ list, 
	int^ start, 
	int^ count
)

Type Parameters

T
The type of the items in the list.

Parameters

list
Type: IList<(Of <(<'T>)>)>
The list to view.
start
Type: Int32
The starting index of the view.
count
Type: Int32
The number of items in the view.

Return Value

A list that is a view onto the given sub-list.

Exceptions


ExceptionCondition
ArgumentNullExceptionlist is null.
ArgumentOutOfRangeExceptionstart or count is negative.
ArgumentOutOfRangeExceptionstart + count is greater than the size of list.

Remarks


This method can be used to apply an algorithm to a portion of a list. For example:
C#
Algorithms.ReverseInPlace(Algorithms.Range(list, 3, 6))
will reverse the 6 items beginning at index 3.