Supongamos que tengo un IEnumerable<int>
y quiero que estos se conviertan en sus caracteres equivalentes ASCII.IEnumerable.Cast() vs fundición en IEnumerable.Select()
Para un entero simple, sería simplemente (char)i
, por lo que siempre hay collection.Select(i => (char)i)
, pero pensé que sería un poco más limpio usar collection.Cast()
.
¿Alguien puede explicar por qué obtengo un InvalidCastException
cuando uso collection.Cast<char>()
pero no con collection.Select(i => (char)i)
?
Editar: Curiosamente, cuando llamo al collection.OfType<char>()
me sale un juego vacío.
Gracias! Un poco contra-intuitivo, pero tiene sentido – hehewaffles
El enlace al blog de Jon Skeet parece estar roto. Aquí hay una alternativa: http://edulinq.googlecode.com/hg/posts/33-CastAndOfType.html –
@TylerGill, este enlace también está roto – 3per