У меня есть тип с неявными операторами преобразования в большинство базовых типов, и я пытался использовать .Cast
в коллекции этого типа, который не удалось. По мере того, как я копался в этом, я заметил, что приведение через как
не использует неявное или явное преобразование и просто не компилируется, поэтому я предполагаю, что здесь падает .Cast
. Итак, это не удается
var enumerable = source.Cast<string>();
, но это работает
var enumerable = source.Select(x => (string)x);
Так в чем же преимущество Cast? Конечно, это на пару символов короче, но кажется более ограниченным. Если его можно использовать для преобразования, есть ли какие-то преимущества, кроме более компактного синтаксиса?