This is msdn explanation on it link
Put it in a simple way : The as operator is like a cast except that it yields null on conversion failure instead of raising an exception.
but it can only perform reference conversions and boxing conversions.
others like user-defined conversions should use casting. if you use ‘as’, it will return null.