There are three kinds of reference types: class types, interface types, and array types, whose values are references to dynamically created class instances, arrays, or class instances or arrays that implement interfaces. A reference value may also be the null reference, a reference to no object.
Operations on values of a reference type include comparison to the null reference and equality comparison; there are no arithmetic operations on values of a reference type.