Yes! is operator is lightweight and fast, but if you need something like Checking Type and Then parsing it to that time, Then use a better and recommended way that is as Operator:
Code with is:
if(aControl is Button)
{
Button b = (Button) button1;
}
Code with as:
Button b = button1 as Button;
if(b == null) // was not a Button
{
// Do Something
}
else // is Button and Also Parsed
{
//Do Something
}
So its a short and fast too, So it depends on your use. as eliminates double casting of a type from from is and then by real casting.
Hope it help!
Best Regards,