Udostępnij za pośrednictwem


Загадка с оператором «is». Часть 1

 

Возможно, что в программе с некоторой локальной переменной x:

bool b = x is FooBar;

во время исполнения присваивается b значение true, даже если преобразование типов (явное или неявное) переменной x к FooBar запрещено компилятором! Т.е. выражение:

FooBar foobar = (FooBar)x;

в той же самой программе не будет компилироваться.

Можете ли вы придумать подобный пример? Это не слишком сложная загадка, но она показывает некоторые тонкие моменты оператора «is», которые мы рассмотрим в следующий раз.

Comments

  • Anonymous
    November 06, 2012
    У вас опечатка? > Возможно ли, что локальная переменная x, объявленная Быть может, вы имеете в виду локальную переменную b?

  • Anonymous
    November 07, 2012
    Спасибо, что обратили внимание! Это неточный перевод. Поправлено.

  • Anonymous
    November 08, 2012
    Да, я уже встречался с подобным.