The is Operator

Casts, as described previously, should be used only if you’re absolutely sure that the object can be converted to the specified type. If it can’t, a runtime exception occurs. In effect, think about this exception as the absolute latest time where a typing error can be caught: Face it, you have a bug.

So, what if we’re just interested in knowing whether an object has a particular runtime type? In other words, we want to make a runtime type check, essentially resulting in a Boolean truth value. This is what the is operator is all about:

object o = "Bart";bool isString = o is string; // truebool isInt    = o is int;    // false

The is operator is concerned only with types and considers type hierarchies as part of its operation. For ...

Get C# 5.0 Unleashed now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.