The as Operator

You might wonder why I made all that fuss about the underlying implementation of the is operator. Well, as you’ve seen, the is operator actually performs a cast underneath the covers and checks the result against null to determine whether the cast succeeded. Contrast this with the behavior of the cast expression that throws an InvalidCastException in case of a failed cast. Clearly, both cast mechanisms are useful.

This brings us to the as operator, which is the gentle equivalent to the cast expression: Instead of throwing an exception on failure to cast, it simply returns null. In the previous example where we dispatched types using the is operator, we actually did things rather inefficiently. First we carried out a type check: ...

Get C# 4.0 Unleashed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.