Listを配列に変換する必要性が生じた場合は、ToArrayメソッドを使うことができます。 ToArrayメソッドを呼び出すと、Listの内容と同じ内容をもつ配列を取得することができます。

Listを配列に変換する
using System;
using System.Collections.Generic;

class Sample {
  static void Main()
  {
    // 空のListを作成
    var list = new List<string>();

    // Listに要素を追加
    list.Add("Alice");
    list.Add("Bob");
    list.Add("Charlie");

    // Listの内容を配列に変換
    var arr = list.ToArray();

    Console.WriteLine(string.Join(", ", arr));
  }
}
実行結果
Alice, Bob, Charlie

引数の型が配列となっているメソッドにListの内容を渡したい場合などにはToArrayメソッドを使う必要があります。 一方、引数の型がIEnumerable<T>となっている場合は配列と同様にListをそのまま渡すことができるため、この場合はToArrayメソッドによって配列に変換する必要はありません。

例えば上記の例で使用しているString.Joinメソッドも、.NET Framework 4以降ではIEnumerable<T>を引数にとることができるようになっているので、わざわざ配列に変換することなく直接Listを渡すことができます。

String.Joinメソッドについては文字列の加工・編集 §.結合 (Join)を参照してください。