Si vous utilisez une implémentation de System.Collections.IEnumerable
vous pouvez faire comme suit pour le convertir en un List
. Les utilisations suivantes Enumerable.Cast pour convertir IEnumberable
à un générique List
.
//ArrayList Implements IEnumerable interface
ArrayList _provinces = new System.Collections.ArrayList();
_provinces.Add("Western");
_provinces.Add("Eastern");
List<string> provinces = _provinces.Cast<string>().ToList();
Si vous utilisez la version générique IEnumerable<T>
La conversion est simple. Comme les deux sont des génériques, vous pouvez faire comme ci-dessous,
IEnumerable<int> values = Enumerable.Range(1, 10);
List<int> valueList = values.ToList();
Mais si le IEnumerable
est nulle, lorsque vous essayez de la convertir en un fichier de type List
vous obtiendrez ArgumentNullException
disant que la valeur ne peut pas être nulle.
IEnumerable<int> values2 = null;
List<int> valueList2 = values2.ToList();
Par conséquent, comme mentionné dans le autre réponse n'oubliez pas de faire un null
avant de le convertir en un List
.