Possible en double:
Puzzling Enumerable.Cast InvalidCastExceptioncasting IEnumerable <int> à IEnumerable <long> ne
Pourquoi
List<long> numbers = Enumerable.Range(1, 9999).Cast<long>().ToList();
échouent avec un InvalidCastException?
Possible en double:
Puzzling Enumerable.Cast InvalidCastExceptioncasting IEnumerable <int> à IEnumerable <long> ne
Pourquoi
List<long> numbers = Enumerable.Range(1, 9999).Cast<long>().ToList();
échouent avec un InvalidCastException?
Voir cette réponse: Puzzling Enumerable.Cast InvalidCastException
En résumé, CAST() fonctionne sur le IEnumerable non générique, qui boîtes chaque int comme un objet. Ainsi, lorsque le Cast est appelé, il ne peut traiter les éléments comme étant de type Object, qui ne peut pas être long.
La solution est d'utiliser le produit pour effectuer une distribution explicite:
var numbers = Enumerable.Range(1,9999).Select(i=>(long)i).ToList();
en double de [Puzzling Enumerable.Cast InvalidCastException] (http://stackoverflow.com/questions/445471/puzzling-enumerable-cast- invalidcastexception) – jason
Ceci est une copie d'une [question] (http://stackoverflow.com/questions/445471/puzzling-enumerable-cast-invalidcastexception) que j'ai déjà posée. – jason