MoreEnumerableToArrayByIndexT(IEnumerableT, Int32, FuncT, Int32) Method
            Creates an array of user-specified length from an
            
IEnumerableT where a function is used to determine
            the index at which an element will be placed in the array.
            
Namespace: MoreLinqAssembly: MoreLinq (in MoreLinq.dll) Version: 4.4.0+6d97c3b1d482f98300f4446df14742b0e3fafbec
public static T[] ToArrayByIndex<T>(
	this IEnumerable<T> source,
	int length,
	Func<T, int> indexSelector
)
<ExtensionAttribute>
Public Shared Function ToArrayByIndex(Of T) ( 
	source As IEnumerable(Of T),
	length As Integer,
	indexSelector As Func(Of T, Integer)
) As T()
public:
[ExtensionAttribute]
generic<typename T>
static array<T>^ ToArrayByIndex(
	IEnumerable<T>^ source, 
	int length, 
	Func<T, int>^ indexSelector
)
[<ExtensionAttribute>]
static member ToArrayByIndex : 
        source : IEnumerable<'T> * 
        length : int * 
        indexSelector : Func<'T, int> -> 'T[] 
- source  IEnumerableT
- The source sequence for the array.
- length  Int32
- The (non-negative) length of the resulting array.
- indexSelector  FuncT, Int32
- 
            A function that maps an element to its index.
- T
- 
            The type of the element in source.
T
            An array of size 
length that contains the
            elements from the input sequence.
            In Visual Basic and C#, you can call this method as an instance method on any object of type 
IEnumerableT. When you use instance method syntax to call this method, omit the first parameter. For more information, see 
Extension Methods (Visual Basic) or 
Extension Methods (C# Programming Guide).
 
            This method forces immediate query evaluation. It should not be
            used on infinite sequences. If more than one element maps to the
            same index then the latter element overwrites the former in the
            resulting array.