As operator allows you to perform conversions between compatible reference types. Consider the following example... using System; class Employee { public int a = 10; } class Manager : Employee { } class Program { static void Main(string[] args) { Employee emp = new Employee(); // emp1 would point to the same object as emp Employee emp1 = emp as Employee; Console.WriteLine(emp1.a); // emp2 would be null var emp2 = emp as Manager; } }