Methods
Test whether all entries in an array are equal to a given value.
Test whether all entries in an array are equal to a given value.
Parameters:
| array (T[]) | |
| match (T) |
Tests whether all pears are null.
Parameters:
| pears (Pear<T>[]) | Pears to test. |
Returns: True if all pears are null.
Tests whether any of the pears contain meta data.
Parameters:
| pears (Pear<T>[]) | Pears to test. |
Returns: True if any pear contains meta data.
Tests whether any of the pears are null.
Parameters:
| pears (Pear<T>[]) | Pears to test. |
Returns: True if any of the pears are null.
public static T[] Append<T>(this T[] array, params T[] items)
Append a collection of items to the end of this array.
Parameters:
| array (T[]) | Array to modify. |
| items (params T[]) | Items to insert. |
public static T[] Append<T>(this T[] array, T item)
Append an item to the end of this array.
Parameters:
| array (T[]) | Array to modify. |
| item (T) | Item to insert. |
public static IEnumerable<T> Chain<T>(this IEnumerable<T> initial, params IEnumerable<T>[] subsequent)
Chain a set of enumerations.
Parameters:
| initial (IEnumerable<T>) | First collection. |
| subsequent (params IEnumerable<T>[]) | Subsequent collections. |
Returns: Chained enumerable.
Collate all array elements that line up with true array in the map at the start of the array.
Parameters:
| array (T[]) | Array to collate. |
| map (IEnumerable<bool>) | Collate map. |
Returns: New 'length' of the array. Ie. the highest index+1 that was included in the result.
Collate all null elements in an array.
Parameters:
| array (T[]) | Array to modify. |
| direction (CollateDirection) | Direction. |
Convert an array of one type into another.
Parameters:
| array (T[]) | Array to convert. |
| conversion (Func<T, TQ>) | Conversion delegate. |
Returns: Converted array.
Convert nested arrays of one type to another.
Parameters:
| array (T[][]) | Array to convert. |
| conversion (Func<T, TQ>) | Conversion delegate. |
Returns: Converted arrays.
Copies specific elements from an array into another array.
Parameters:
| array (T[]) | Array to copy from. |
| filter (bool[]) | Filter, if there's a TRUE the element will be copied. Filter may not be longer than array. |
Returns: Array with copied elements.
Copy the first N items from one array to the start of another.
Parameters:
| source (T[]) | Array to copy from. |
| target (T[]) | Array to copy to. |
| n (int) | Number of items, must be less than or equal to the shortest array. |
Copy the last N items from one array to the end of another.
Parameters:
| source (T[]) | Array to copy from. |
| target (T[]) | Array to copy to. |
| n (int) | Number of items, must be less than or equal to the shortest array. |
Guess the length of a collection. If the type cannot be quickly resolved, a default value is returned.
Parameters:
| enumerable (IEnumerable<T>) | Collection to inspect. |
| defaultCount (int) | Default count if collection cannot be easily inspected. |
Returns: Length or default.
Create
#Create an array out of all non-NaN elements in a collection.
Parameters:
| values (IEnumerable<double>) |
Create<T>
#Create a one dimensional array from a collection of values and inclusion flags.
Parameters:
| elements (IEnumerable<(T value, bool include)>) | Potential elements of the array. |
Returns: Array containing only include=true elements.
Create<T>
#Create a one dimensional array.
Parameters:
| initialValue (T) | Initial value to assign to each element. |
| width (int) | Width, or length of array. |
Returns: One-dimensional array.
Create<T>
#Create a two dimensional, nested array.
Create<T>
#Create a three dimensional, nested array.
Create<T>
#Create a four dimensional, nested array.
Parameters:
| initialValue (T) | Initial value to assign to each element. |
| width (int) | Width, or length of top level array. |
| height (int) | Height, or length of all primary nested arrays. |
| depth (int) | Depth, or length of all secondary nested arrays. |
| plonk (int) | Plonk (ie. four-dimensional depth), or length of all tertiary nested arrays. |
Returns: Four-dimensional array.
public static void CreatePluralityMap<T>(this IEnumerable<T> collection, Func<T, T, bool> equality, out T[] map, out int[] valence)
Convert a collection of elements into a set with valence tracking.
Parameters:
| collection (IEnumerable<T>) | Collection to parse. |
| equality (Func<T, T, bool>) | Equality comparer. |
| map (out T[]) | Resulting array of unique array. |
| valence (out int[]) | Valence map for each value. |
Returns: Number of remaining unique array.
public static void CreatePluralityMap<T>(this IEnumerable<T> collection, out T[] map, out int[] valence)
Convert a collection of elements into a set with valence tracking.
Parameters:
| collection (IEnumerable<T>) | Collection to parse. |
| map (out T[]) | Resulting array of unique array. |
| valence (out int[]) | Valence map for each value. |
Returns: Number of remaining unique array.
Apply a culling pattern to an array.
Parameters:
| array (T[]) | Array to cull. |
| pattern (bool[]) | Culling pattern (true = remove, false = keep) |
Returns: Culled array.
public static T[] Duplicate<T>(this T[] array)
Clone a jagged array.
Parameters:
| array (T[]) | Jagged array to clone. |
Returns: Cloned jagged array.
public static T[][] Duplicate<T>(this T[][] array)
Clone a jagged array.
Parameters:
| array (T[][]) | Jagged array to clone. |
Returns: Cloned jagged array.
public static T[][][] Duplicate<T>(this T[][][] array)
Clone a multiply jagged array.
Parameters:
| array (T[][][]) | Jagged array to clone. |
Returns: Cloned jagged array.
public static bool EntrywiseEquals(this string[] array, string[] other, StringComparison comparison)
Compare two string arrays.
Parameters:
| array (string[]) | Array. |
| other (string[]) | Other array. |
| comparison (StringComparison) | String comparison. |
Returns: True if both arrays contain the same strings in the same order.
Perform an entrywise equality test on two arrays.
Parameters:
| array (T[]) | First array. |
| other (params T[]) | Second array. |
Returns: True if all elements are equal.
Perform an entrywise equality test on two arrays.
Expand an array.
Parameters:
| array (T[]) | Array to expand. |
| newCount (int) | Target count. |
| method (ExpandMethod) | Expansion method. |
Returns: Expanded array, or same array if it cannot be expanded.
Expand an array.
Parameters:
| array (T[]) | Array to expand. |
| oldCount (int) | Count of existing array, you can specify a value lower than array.Length to ignore a portion of the array. |
| newCount (int) | Target count. |
| method (ExpandMethod) | Expansion method. |
Returns: Expanded array, or same array if it cannot be expanded.
Find the index of the first interval which contains the given value.
Parameters:
| array (Interval[]) | |
| value (double) |
Find the first local maximum in an array of doubles.
Find the first local maximum in an array of doubles.
Find the first local maximum in an array of doubles.
Parameters:
| array (double[]) | Array to search. |
Returns: Index of first maximum or -1.
Find the first local maximum in an array of integers.
Find the first local maximum in an array of integers.
Find the first local maximum in an array of integers.
Parameters:
| array (int[]) | Array to search. |
Returns: Index of first maximum or -1.
Find the first local minimum in an array of doubles.
Find the first local minimum in an array of doubles.
Find the first local minimum in an array of doubles.
Parameters:
| array (double[]) | Array to search. |
Returns: Index of first minimum or -1.
Find the first local minimum in an array of integers.
Find the first local minimum in an array of integers.
Find the first local minimum in an array of integers.
Parameters:
| array (int[]) | Array to search. |
Returns: Index of first minimum or -1.
Find the first range that passes the predicate.
Parameters:
| array (T[]) | Array to search. |
| predicate (Predicate<T>) | Predicate method. |
| firstIndex (int) | First index to take into account. |
| lastIndex (int) | Last index to take into account. |
| index0 (out int) | First index which passes the predicate. |
| index1 (out int) | Last index which passes the predicate. |
Returns: True if a range was found.
Find the first range that passes the predicate.
Return the first index within the array where a specific predicate returns true.
Return the first index within the array where a specific predicate returns true.
Return the first index within the array where a specific value can be found.
Parameters:
| array (T[]) | Array to search. |
| value (T) | Value to match. |
| start (int) | First index to take into consideration. |
Returns: Index within array or -1 if value is not found.
Return the first index within the array where a specific value can be found.
Parameters:
| array (T[]) | Array to search. |
| value (T) | Value to match. |
Returns: Index within array or -1 if value is not found.
public static T[][] Flip<T>(this T[][] array)
Flip a two-dimensional, rectangular nested array.
Parameters:
| array (T[][]) | Array to flip. All secondary arrays must be the same length. |
Returns: Flipped array.
Enumerate over an array in a backwards fashion (from the highest to the lowest index).
Parameters:
| array (T[]) |
Enumerate over an array in a forwards fashion (from the lowest to the highest index).
Parameters:
| array (T[]) |
Format an array.
Format a two-dimensional jagged array.
Parameters:
| array (T[][]) | Array to format. |
Returns: Format showing array as a table.
FromFunc<T>
#Create and populate an array.
Perform an inverse transform sampling on an array of increasing doubles. This means treat the array as a polyline and intersect it with a horizontal ray whose y-value is constant. If the array is not strictly increasing, the results of this method cannot be relied upon.
Parameters:
| array (double[]) | Array of increasing doubles. |
| constant (double) | Constant intersection. |
| index (out int) | Index in array of first value less than or equal to the constant. |
| partial (out double) | Linear interpolation factor between the indexed value and the next value in the array. |
Returns: True if an intersection was found.
Finds the first occurrence of an array within another array.
Inject an item into the array. All items starting at the index will be moved one position to the right. The last item will disappear. This method differs from Insert in that Inject does not change the array size, nor does it create a second, modified array.
Parameters:
| array (T[]) | Array to modify. |
| index (int) | Index to inject into. |
| item (T) | Item to inject. |
Insert a collection of items into this array.
Parameters:
| array (T[]) | Array to modify. |
| index (int) | Index to insert at. |
| items (params T[]) | Items to insert. |
Insert an item into this array.
Parameters:
| array (T[]) | Array to modify. |
| index (int) | Index to insert at. |
| item (T) | Item to insert. |
Invert
#Invert a bool enumeration.
Parameters:
| enumeration (IEnumerable<bool>) | Enumeration to invert. |
Returns: Inverted enumeration.
Test an array for null-ness of empty-ness.
Parameters:
| array (Array) |
Gets whether the array instance is null or empty.
Parameters:
| array (T[]) | Array to test. |
Returns: True if array is either null or empty.
Gets whether the array instance is null, empty, or contains only null items.
Parameters:
| array (T[]) | Array to test. |
Returns: True if array is either null, empty or blank.
Gets the item at a cyclical index.
Parameters:
| array (T[]) | Array to query. |
| cyclicalIndex (int) | Cyclical index. -1 equals the last item in the array. |
Returns: Item at cyclical index.
Sets the item at a cyclical index.
Parameters:
| array (T[]) | Array to query. |
| cyclicalIndex (int) | Cyclical index. -1 equals the last item in the array. |
| item (T) | Item to set. |
Apply a culling pattern to an array.
Parameters:
| array (T[]) | Array to cull. |
| pattern (bool[]) | Culling pattern (true = keep, false = remove) |
Returns: Culled array.
public static T Last<T>(this T[] array)
Gets the last item in an array.
Parameters:
| array (T[]) | Array to query. |
Returns: Last item in array.
Return the last index within the array where a specific value can be found.
Parameters:
| array (T[]) | Array to search. |
| value (T) | Value to match. |
| start (int) | First index to take into consideration. |
Returns: Index within array or -1 if value is not found.
Return the last index within the array where a specific value can be found.
Parameters:
| array (T[]) | Array to search. |
| value (T) | Value to match. |
Returns: Index within array or -1 if value is not found.
public static int Map(this ExpandMethod method, int unexpandedCount, int expandedCount, int expandedIndex)
Map an index specified within a expanded collection to the appropriate index in the unexpanded collection.
Parameters:
| method (ExpandMethod) | Shrinking method context. |
| unexpandedCount (int) | Length of unexpanded collection. |
| expandedCount (int) | Length of expanded collection. |
| expandedIndex (int) | Index into expanded collection. |
Returns: Index in unexpanded collection or -1 if not a valid mapping.
public static int Map(this ShrinkMethod method, int unshrunkCount, int shrunkCount, int shrunkIndex)
Map an index specified within a shrunk collection to the appropriate index in the unshrunk collection.
Parameters:
| method (ShrinkMethod) | Shrinking method context. |
| unshrunkCount (int) | Length of unshrunk collection. |
| shrunkCount (int) | Length of shrunk collection. |
| shrunkIndex (int) | Index into shrunk collection. |
Returns: Index in unshrunk collection or -1 if not a valid mapping.
Count the number of meta data entries. An entry with zero key-value fields does not count towards the total.
Parameters:
| array (MetaData[]) |
Gets the most derived type constraint required to store all the elements in the array.
Parameters:
| array (T[]) | Array to examine. |
| nulls (bool[] = null) | Optional null array used for skipping elements. |
Returns: Tightest possible type of array which could still contain all elements in array.
Invert all array in a boolean array.
Parameters:
| array (bool[]) | Array to negate. |
Returns: Negated array.
Tests whether none of the pears are null.
Parameters:
| pears (Pear<T>[]) | Pears to test. |
Returns: True if none of the pears are null.
Normalise all values in an array so they sum to a specific value.
Normalise all values in an array so they sum to 1.
Parameters:
| array (double[]) | Array to normalise. |
Returns: True on success, false on failure.
Normalise all values in a nested array so they sum up to a specific value.
Parameters:
| array (double[][]) | Array to normalise. |
| target (double) | Normalisation target. |
Returns: True on success, false on failure.
Normalise all values in a nested array so they sum up to 1.
Parameters:
| array (double[][]) | Array to normalise. |
Returns: True on success, false on failure.
Normalise all array in an array so they sum to a specific value.
Normalise all array in an array so they sum to 1.
Parameters:
| array (float[]) | Array to normalise. |
Returns: True on success, false on failure.
Normalise all values in a nested array so they sum up to a specific value.
Normalise all values in a nested array so they sum up to 1.
Parameters:
| array (float[][]) | Array to normalise. |
Returns: True on success, false on failure.
public static T[] NullIfEmpty<T>(this T[] array)
Returns a null reference if the array contains only null array. Otherwise returns the same array.
Parameters:
| array (T[]) | Array to inspect. |
Returns: Either array or null.
Compute the hash for an array of values, taking into account ordering. I.e. the hash for {0, 1, 2} will be different than the hash for {0, 2, 1}.
Parameters:
| array (T[]) |
Pad an array on the left side (before the first index) until it has a specific length. This method will not reduce the length of an array if it is already longer than the target length. If the array need not be modified the same instance is returned.
Parameters:
| array (T[]) | Array to pad. |
| targetLength (int) | Target length. |
| padding (T) | Value to insert for padding. |
Returns: Padded array.
Pad an array on the right side (after the last index) until it has a specific length. This method will not reduce the length of an array if it is already longer than the target length. If the array need not be modified the same instance is returned.
Parameters:
| array (T[]) | Array to pad. |
| targetLength (int) | Target length. |
| padding (T) | Value to insert for padding. |
Returns: Padded array.
public static T[] Pop<T>(this T[] array)
Remove the last item from an array.
Parameters:
| array (T[]) | Array to modify. |
Returns: Popped array.
public static T[] PopFirst<T>(this T[] array)
Remove the first item from an array.
Parameters:
| array (T[]) | Array to modify. |
Returns: Popped array.
Process<T>
#Apply a function to an enumeration.
Parameters:
| enumeration (IEnumerable<T>) | Enumeration to process. |
| process (Func<T, T>) | Process function. |
Returns: Processed enumeration.
public static T[] Push<T>(this T[] array, params T[] items)
Append a collection of items to the end of an array.
Parameters:
| array (T[]) | Array to modify. |
| items (params T[]) | Items to add. |
Returns: New array with added item.
public static T[] Push<T>(this T[] array, T item)
Append an item to the end of an array.
Parameters:
| array (T[]) | Array to modify. |
| item (T) | Item to add. |
Returns: New array with added item.
public static T[] PushFirst<T>(this T[] array, T item)
Push an item into the first position of an array.
Parameters:
| array (T[]) | Array to modify. |
| item (T) | Item to push. |
Returns: New array with added item.
Gets a random item out of this array.
Parameters:
| array (T[]) | Array. |
| random (Random) | Random engine. |
Returns: Ranodm item.
Remove specific items from an array.
Parameters:
| array (T[]) | Array to operate on. |
| predicate (Predicate<T>) | Removal predicate, must return true when an item is to be removed. |
Returns: Array with all specific items removed.
public static T[] RemoveAll<T>(this T[] array, T item)
Remove all instances from an array.
Parameters:
| array (T[]) | Array to operate on. |
| item (T) | Items to remove. |
Returns: Array with all instances of item removed.
Remove a specific element from an array.
Parameters:
| array (T[]) | Array to modify. |
| index (int) | Index to remove. |
Returns: Modified array.
Remove all duplicate array elements using a custom comparer.
Remove all duplicate array elements using a custom comparer.
Parameters:
| array (T[]) | Array to simplify. |
| comparer (IEqualityComparer<T>) | Custom comparer. |
Returns: Array containing only unique array elements.
public static T[] RemoveDuplicates<T>(this T[] array)
Remove all duplicate array elements using the standard comparer.
Parameters:
| array (T[]) | Array to simplify. |
Returns: Array containing only unique array elements.
Remove a range of items from an array.
public static void ReorderByKey<T>(this T[] array, T[] keys)
Apply a minimal, stable reordering to an array based on an ordering constraint. Do note that this method replaces values in the array with values in the keys, so this should only be used when that swap doesn't matter.
Parameters:
| array (T[]) | Array to reorder. |
| keys (T[]) | Order constraint for (some) items in array. |
public static T[] ReplaceFirst<T>(this T[] array, T search, T replace)
Replace the first occurance of a value within an array with another one.
Parameters:
| array (T[]) | |
| search (T) | |
| replace (T) |
public static T[] ReplaceLast<T>(this T[] array, T search, T replace)
Replace the last occurance of a value within an array with another one.
Parameters:
| array (T[]) | |
| search (T) | |
| replace (T) |
Replaces all occurrences of a Guid pattern within a source array with a single replacement Guid.
Parameters:
| source (Guid[]) | The source array to perform replacements on. |
| pattern (Guid[]) | The pattern array to search for. |
| replacement (Guid) | The Guid to use as replacement. |
Returns: A new array with all pattern occurrences replaced with the specified Guid, or the original array if no replacements were made or if any array is null or empty.
Replace all array in an array of doubles that fall inside any of the domains with a different value. This method is significantly faster than checking each element against each domain, but it does require the array of doubles is already sorted.
Parameters:
| array (double[]) | Array of doubles. Must be sorted small to large. |
| domains (Interval[]) | Array of intervals. |
| replacement (double) | Replacement value. |
| strict (bool) | If true, only array strictly within each interval are replaced. |
public static T[] Reverse<T>(this T[] array)
Create a reversed copy of an array.
Parameters:
| array (T[]) | Array. |
Returns: Reversed copy.
Checks whether all access flags are of a single kind.
Set a range of array of an array to a specific value.
public static void SetAll<T>(this T[] array, T value)
Set all array of an array to a specific value.
Parameters:
| array (T[]) | Array to modify. |
| value (T) | Value to assign to each element. |
public static void SetFirstAndLast<T>(this T[] array, T first, T last)
Set the first and last elements in an array simultaneously.
Parameters:
| array (T[]) | |
| first (T) | |
| last (T) |
Shrink an array.
Parameters:
| array (T[]) | Array to shrink. |
| newCount (int) | Target count. |
| method (ShrinkMethod) | Shrinking method. |
Returns: Shrunk array, or same array if it cannot be shrunk.
Shrink an array.
Parameters:
| array (T[]) | Array to shrink. |
| oldCount (int) | Count of existing array, you can specify a value lower than array.Length to ignore a portion of the array. |
| newCount (int) | Target count. |
| method (ShrinkMethod) | Shrinking method. |
Returns: Shrunk array, or same array if it cannot be shrunk.
Slice the array between two indices. I.e. extract the sub-array limited by the indices.
Sort all intervals in an array from left to right and merge overlapping intervals.
Parameters:
| array (Interval[]) | Array of intervals to merge. All intervals must be increasing. |
Returns: Sorted and merged array. The returned array may be the same array, if no modifications were made.
Sort an array and create a sorting map using a default comparer.
Parameters:
| array (T[]) | Array to sort. |
| map (out Maths.IndexMap) | Sorting map. |
| comparer (IComparer<T>) |
Returns: Sorted array.
Sort an array and create a sorting map using a default comparer.
Parameters:
| array (T[]) | Array to sort. |
| map (out Maths.IndexMap) | Sorting map. |
Returns: Sorted array.
Create a sorting map for an array with a null-mask array.
Perform a count sort using integers as keys. CountSort (unlike QuickSort or IntrospectiveSort as used by the .NET framework) is stable, meaning the order of the input items is preserved in case of identical keys. It is however slower than QuickSort and doesn't like big or negative key array.
Parameters:
| keys (int[]) | Sorting keys. |
| values (T[]) | Synchronous array. |
Perform a topological sort on an array.
Perform a topological sort on an array.
Parameters:
| array (T[]) | Array to sort. |
| edges (params (int start, int end)[]) | Collection of edges defined by start and end indices. |
Returns: Sorted array.
public static void Stack<T>(this T[] array, params T[][] elements)
Stack up the elements until the array is filled up.
Parameters:
| array (T[]) | Array to fill up. |
| elements (params T[][]) | Stacking elements. |
Swap two items in an array.
Convert a double[] into a byte[].
Parameters:
| array (double[]) | Array to convert. |
Returns: Byte array.
Convert a float[] into a byte[].
Parameters:
| array (float[]) | Array to convert. |
Returns: Byte array.
Convert an int[] into a byte[].
Parameters:
| array (int[]) | Array to convert. |
Returns: Byte array.
Convert a long[] into a byte[].
Parameters:
| array (long[]) | Array to convert. |
Returns: Byte array.
Convert an array of SpatialVector array into an xyz coordinate array.
Parameters:
| vectors (Locus[]) | Vectors to sequence. |
Returns: Coordinate array.
Convert an array of Point2d array into an xy coordinate array.
Parameters:
| points (Point2d[]) | Points to sequence. |
Returns: Coordinate array.
Convert an array of Point3d array into an xyz coordinate array.
Parameters:
| points (Point3d[]) | Points to sequence. |
Returns: Coordinate array.
Convert an array of Vector3d array into an xyz coordinate array.
Parameters:
| vectors (Vector3d[]) | Vectors to sequence. |
Returns: Coordinate array.
Convert a byte[] into a double[].
Parameters:
| array (byte[]) | Array to convert. |
Returns: Array.
Convert a byte[] into a float[].
Parameters:
| array (byte[]) | Array to convert. |
Returns: Array.
Create a byte array containing all the hashcodes of a collection of objects.
Parameters:
| objects (IEnumerable<object>) | Objects to hash. |
Returns: Byte array.
Convert a byte[] into an int[].
Parameters:
| array (byte[]) | Array to convert. |
Returns: Array.
Create an item array from a pear array.
Parameters:
| array (Pear<T>[]) | Array of pears. |
Returns: Array of items.
Convert a byte[] into a long[].
Parameters:
| array (byte[]) | Array to convert. |
Returns: Array.
Create a meta array from a pear array.
Parameters:
| array (Pear<T>[]) | Array of pears. |
Returns: Array of meta data.
Create a null array from a pear array.
Parameters:
| array (Pear<T>[]) | Array of pears. |
Returns: Array of nulls.
Convert an array of sequential xy coordinates into a Point2d array.
Parameters:
| coordinates (double[]) | Array of coordinates, length must be a multiple of 2. |
Returns: Point array.
Convert an array of sequential xyz coordinates into a Point3d array.
Parameters:
| coordinates (double[]) | Array of coordinates, length must be a multiple of 3. |
Returns: Point array.
Convert an array of sequential xyz coordinates into a SpatialVector array.
Parameters:
| coordinates (double[]) | Array of coordinates, length must be a multiple of 3. |
Returns: Vector array.
Create a type array from a pear array.
Parameters:
| array (Pear<T>[]) | Array of pears. |
Returns: Array of types.
Convert an array of sequential xyz coordinates into a Vector3d array.
Parameters:
| coordinates (double[]) | Array of coordinates, length must be a multiple of 3. |
Returns: Vector array.
public static T[] Trim<T>(this T[] array, T trimmingValue)
Resize an array to contain all items until a specific value.
Parameters:
| array (T[]) | Array to resize. |
| trimmingValue (T) | Value to trim at. |
Returns: Trimmed array.
Compute the hash for an array of array, not taking into account ordering. I.e. the hash for {0, 1, 2} will be the same as the hash for {0, 2, 1}.
Parameters:
| array (T[]) |
Withdraw an item from the array. All items to the right of the index will be moved one position to the left. This method differs from RemoveAt in that Withdraw does not change the array size, nor does it create a second, modified array.
Parameters:
| array (T[]) | Array to modify. |
| index (int) | Index to withdraw. |
Wrap an IEnumerable into another IEbumerable of a different type.
Parameters:
| collection (IEnumerable<T>) | Collection. |
| converter (Func<T, TQ>) | Conversion method. |