IEnumerable.Cast()и приведение в IEnumerable.Select()

Предположим, у меня есть IEnumerable<int>и я хочу, чтобы они были преобразованы в их ASCII-эквивалентные символы.

Для одного целого числа это будет просто (char)i, поэтому всегда есть collection.Select(i => (char)i), но я подумал, что будет немного чище использовать collection.Cast().

Кто-нибудь может объяснить, почему я получаю InvalidCastException, когда использую collection.Cast<char>(), а не collection.Select(i => (char)i)?

Редактировать:Интересно, что когда я вызываю collection.OfType<char>(), я получаю пустой набор.

10
задан hehewaffles 26 March 2012 в 03:27
поделиться