I need to split an array of indeterminate size, at the midpoint, into two separate arrays.
The array is generated from a list of strings using ToArray().
<
If functional paradigm is a concern, this might help:
public static IEnumerable> Split(this IEnumerable seq, Int32 sizeSplits) {
Int32 numSplits = (seq.Count() / sizeSplits) + 1;
foreach ( Int32 ns in Enumerable.Range(start: 1, count: numSplits) ) {
(Int32 start, Int32 end) = GetIndexes(ns);
yield return seq.Where((_, i) => (start <= i && i <= end));
}
(Int32 start, Int32 end) GetIndexes(Int32 numSplit) {
Int32 indBase1 = numSplit * sizeSplits;
Int32 start = indBase1 - sizeSplits;
Int32 end = indBase1 - 1;
return (start, end);
}
}