using System.Diagnostics;
public static void Main()
const int Repetitions = 100000000;
Stopwatch sw = new Stopwatch();
for(int i = 0; i < Repetitions; i++) {
var employee = new Employee();
var person = (Person)employee;
Console.WriteLine(string.Format("Direct cast time: {0}", sw.ElapsedMilliseconds));
for(int i = 0; i < Repetitions; i++) {
var employee = new Employee();
var person = employee as Employee;
Console.WriteLine(string.Format("As cast time: {0}", sw.ElapsedMilliseconds));
public int Age { get; set; }
public string Gender {get; set; }
public class Employee : Person {
public bool HasRights { get; set; }
public DateTime LunchTime { get; set; }