Из документов:
Оператор as подобен кастингу, за исключением того, что он дает нулевое значение для отказа преобразования, а не для создания исключения. Более формально выражение вида:
expression as type
эквивалентно:
expression is type ? (type)expression : (type) null
за исключением того, что выражение оценивается только один раз.
Так почему бы вам не выбрать, чтобы сделать это так или иначе. Почему две системы литья?