What’s the point of “As” keyword in C#

They aren’t two system of casting. The two have similar actions but very different meanings. An “as” means “I think this object might actually be of this other type; give me null if it isn’t.” A cast means one of two things:

  • I know for sure that this object actually is of this other type. Make it so, and if I’m wrong, crash the program.

  • I know for sure that this object is not of this other type, but that there is a well-known way of converting the value of the current type to the desired type. (For example, casting int to short.) Make it so, and if the conversion doesn’t actually work, crash the program.

See my article on the subject for more details.

What’s the difference between “as” and cast operators?

Leave a Comment