What’s the difference?
object dinner = new Dinner(); Dinner myDinner2 = (Dinner) dinner; Dinner myDinner = dinner as Dinner;
Well, the first cast (which is really a cast) throws an error if dinner is null.
The second one doesn’t, so you have to check that by yourself.
Also see the MSDN reference on the ‘as’ keyword.