I know of is and as for instanceof, but what about the reflective isInstance() method?
is
as
instanceof
Depends, use is if you don't want to use the result of the cast and use as if you do. You hardly ever want to write:
if(foo is Bar) { return (Bar)foo; }
Instead of:
var bar = foo as Bar; if(bar != null) { return bar; }