Dividir una matriz en 2 matrices C #

Edición: He intentado el método de Tomar / Omitir pero obtengo el siguiente error:

Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<string>' to   
'string[]'. An explicit conversion exists (are you missing a cast?)

No sé qué estoy haciendo mal porque copié el código de Saeed.

Tengo una matriz de cadenas (que contiene de 20 a 300 elementos) y quiero dividirla en 2 matrices separadas, desde la mitad de la primera.

Sé cómo puedo hacer esto usando un bucle for, pero me gustaría saber si había una forma más rápida / mejor de hacerlo. También necesito poder dividir correctamente una matriz incluso si tiene un número impar de elementos, por ejemplo:

string[] words = {"apple", "orange", "banana", "pear", "lemon"};
string[] firstarray, secondarray;
SplitArray(words, out firstarray, out secondarray); // Or some other function
// firstarray has the first 3 of the items from words, 'apple', 'orange' and 'banana'
// secondarray has the other 2, 'pear' and 'lemon'

Respuestas a la pregunta(5)

Su respuesta a la pregunta