[c#] C# "as" cast vs classic cast