Dividindo uma matriz em 2 matrizes C #

Edit: Eu tentei o método Take / Skip, mas recebo o seguinte erro:

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

Eu não sei o que estou fazendo errado porque copiei o código de Saeed.

Eu tenho um array de strings (contendo de 20 a 300 itens) e eu quero dividi-lo em 2 arrays separados, do meio do primeiro.

Eu sei como posso fazer isso usando um loop for, mas gostaria de saber se havia uma maneira mais rápida / melhor de fazê-lo. Eu também preciso ser capaz de dividir corretamente uma matriz, mesmo que tenha um número ímpar de itens, por exemplo:

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'

questionAnswers(5)

yourAnswerToTheQuestion