Listの全部あるいは一部分だけを既存の配列にコピー(複写)したい場合は、CopyToメソッドを使うことができます。 ToArrayメソッドとは異なり、コピー先となる配列はあらかじめ用意しておく必要があります。

CopyToメソッドを使ってListの一部を配列にコピーする
using System;
using System.Collections.Generic;

class Sample {
  static void Main()
  {
    List<string> list = new List<string>() {"Alice", "Bob", "Charlie", "Dave", "Eve"};

    // コピー先の配列を用意
    string[] arr = new string[5];

    // Listのインデックス2から3要素分を配列のインデックス0以降にコピー
    list.CopyTo(2, arr, 0, 3);

    Print(arr);

    // Listのインデックス0から2要素分を配列のインデックス3以降にコピー
    list.CopyTo(0, arr, 3, 2);

    Print(arr);
  }

  static void Print(string[] arr)
  {
    foreach (string e in arr) {
      Console.Write("{0}, ", e);
    }

    Console.WriteLine();
  }
}
実行結果
Charlie, Dave, Eve, , , 
Charlie, Dave, Eve, Alice, Bob, 

このメソッドでは簡易コピーが行われるため、参照型を要素に持つListの場合は参照のみがコピーされます。 簡易コピーについてより詳しくはオブジェクトの複製で解説しています。

Listの全要素を配列にして扱いたい場合は前述のToArrayメソッドを使用することもできます。