Если ключевое слово var
разрешается во время компиляции, как работает следующее?
class A {
}
class B : A {
}
int k = 1;
var x = (k < 0) ? new B() : new A();
Правка:
Наконец-то я понял, что проблема не в самом var
, а в поведении оператора ?:
. Я почему-то думал, что возможно следующее:
object x = something ? 1 : ""
а это вообще невозможно :)
Связанный вопрос (о тернарном операторе):
Почему не удается присвоить null в тернарном операторе: нет неявного преобразования между null и int?