X

What is the as keyword in C#? When to use it?

dotnet C#

C# has the as keyword, it is mainly used to cast object of one type to another, and if it fails it should return a null rather than crashing the program or throwing exception.

From MSDN documentation it states:
You can use the as operator to perform certain types of conversions between compatible reference types or nullable types. The as operator is like a cast operation. However, if the conversion isn’t possible, as returns null instead of raising an exception.

object obj = GetPersonObj(123);
Person p = obj as Person; //using the as keyword

if(p != null)
  p.FullName = p.FirstName + " " + p.LastName;


Person p2 = (Person) obj; //this can throw an exception if the object is not a person

Differences between as and cast ( ) and when to use it:

  • Using “as“, I think the object is of the type, but if it isn’t give me a null, don’t crash the application.
  • Using cast, I know the object is of this type, and if it isn’t then crash the application.
  • Using is and cast is more costly than just using as
Categories: .NET C#
Taswar Bhatti:
Related Post