C# programmers reference - as operator:
....
Remarks:
The as operator is like a cast except that it yields null on conversion
failure instead of raising an exception. More formally, an expression of the
form:
expression as typeis equivalent to:
expression is type ? (type)expression : (type)nullexcept that expression is
evaluated only once.
Note that the as operator only performs reference conversions and boxing
conversions. The as operator cannot perform other conversions, such as
user-defined conversions, which should instead be performed using cast
expressions.