Загадка с оператором «is». Часть 1
Возможно, что в программе с некоторой локальной переменной x:
bool b = x is FooBar;
во время исполнения присваивается b значение true, даже если преобразование типов (явное или неявное) переменной x к FooBar запрещено компилятором! Т.е. выражение:
FooBar foobar = (FooBar)x;
в той же самой программе не будет компилироваться.
Можете ли вы придумать подобный пример? Это не слишком сложная загадка, но она показывает некоторые тонкие моменты оператора «is», которые мы рассмотрим в следующий раз.