Загадка с оператором «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
Да, я уже встречался с подобным.