Convertir IList à un tableau en C#

Je veux convertir IList de tableau:
Veuillez voir mon code:

IList list = new ArrayList();
list.Add(1);
Array array = new Array[list.Count];
list.CopyTo(array, 0);

Pourquoi je Système.InvalidCastException : Au moins un élément dans le tableau source ne peut pas être jeté à la destination de la matrice de type? Comment cela peut être résolu en supposant que je ne peux pas utiliser ArrayList type de liste variable ?

Mise à jour 1: que j'utilise .NET 1.1. Donc je ne peux pas utiliser des Génériques, Linq et ainsi de suite. Je veux juste recevoir le résultat pour le cas le plus fréquent - entier a été donnée à titre d'exemple, j'ai besoin de ce code fonctionne pour tous les types donc j'utilise Tableau ici (peut-être que je me trompe sur l'utilisation de Tableau mais j'ai besoin, une fois de plus, cas le plus courant).

ArrayList est obsolète. Utilisation List<T> à la place.
Êtes-vous à l'aide .NET 2.0? Si vous n'êtes pas alors tout cela devient beaucoup plus simple avec le générique des collections.
stackoverflow.com/questions/268671/...
Quelle est la version de .NET? Système.Linq ajoute une fonction très utile ToArray()

OriginalL'auteur Michael Z | 2012-02-29