try/ is catchdefinitely slower because the thrown exception throws up stack information.
as/ isare for comparison with a type known at compile time and satisfying inheritance (i.e. "string" is Objectreturns true)
typeof/ GetType()can be used for types known at runtime but not satisfying inheritance (i.e. "string".GetType() == typeof(Object)returns false)
, , , , as ( is, )