Предположим, у меня есть IEnumerable<int>
и я хочу, чтобы они были преобразованы в их ASCII-эквивалентные символы.
Для одного целого числа это будет просто (char)i
, поэтому всегда есть collection.Select(i => (char)i)
, но я подумал, что будет немного чище использовать collection.Cast()
.
Кто-нибудь может объяснить, почему я получаю InvalidCastException
, когда использую collection.Cast<char>()
, а не collection.Select(i => (char)i)
?
Редактировать:Интересно, что когда я вызываю collection.OfType<char>()
, я получаю пустой набор.