Basta ya de investigar por todo internet ya que has llegado al sitio necesario, poseemos la solución que deseas pero sin problemas.
Solución:
Puedes usar linq:
firstArray = array.Take(array.Length / 2).ToArray();
secondArray = array.Skip(array.Length / 2).ToArray();
Por qué esto funciona, a pesar de la paridad del original array ¿Talla?
El primer arreglo toma array.Length / 2
elementos, y el segundo se salta el primero array.Length / 2
elementos, significa que no hay ningún conflicto entre estas dos matrices. Por supuesto, si el número de elementos es impar, no podemos dividir el array en dos partes de igual tamaño.
Si desea tener más elementos en la primera mitad (en el caso extraño), haga esto:
firstArray = array.Take((array.Length + 1) / 2).ToArray();
secondArray = array.Skip((array.Length + 1) / 2).ToArray();
string[] words = "apple", "orange", "banana", "pear", "lemon";
int mid = words.Length/2;
string[] first = words.Take(mid).ToArray();
string[] second = words.Skip(mid).ToArray();
Si no quiere/no puede usar LINQ, simplemente puede hacer:
string[] words = "apple", "orange", "banana", "pear", "lemon" ;
string[] firstarray, secondarray;
int mid = words.Length / 2;
firstarray = new string[mid];
secondarray = new string[words.Length - mid];
Array.Copy(words, 0, firstarray, 0, mid);
Array.Copy(words, mid, secondarray, 0, secondarray.Length);
Comentarios y puntuaciones de la guía
Si piensas que te ha sido provechoso nuestro artículo, sería de mucha ayuda si lo compartes con otros programadores de este modo contrubuyes a extender nuestra información.