Владимир Коротенко, эти булевы операции у вас запрятаны в мешанине из var, await, исключений, лямбд и прочих C#-специфичных фич. Зачем вы показываете этот треш новичку, который, очевидно, делает первые шаги в программировании и спрашивает про то, как написать if?
AnT, автор, как он сам признаётся, любитель писать на C#. Ровно как и на Java, со сборкой мусора идиоматично писать Base b = Derived();. Но в C++ это в таком виде не работает, и это не следует даже пытаться заставить работать: это приведёт к лишним аллокациям.
Anselmi, тут ваше дело, но если убрать из рассмотрения бюрократов, которым нужно надёжное (или скорее "надёжное") ПО, то я вижу не так много работы на C++, в то время как заказов на сайты и мобильные приложения (HTML+CSS+JS, фреймворки, бэк, базы данных, Swift-Kotlin-Flutter) хоть отбавляй