Implicit reference conversions

The implicit reference conversions are: From any reference-type to object. From any class-type S to any class-type T, provided S is derived from T. From any class-type S to any interface-type T, provided S implements T. From any interface-type S to any interface-type T, provided S is derived from T. From an array-type S with an element type SE to an array-type T with an element type TE, provided all of the following are true: S and T differ only in element type. In other words, S and T have the same number of dimensions. Both SE and TE are reference-types. An implicit reference conversion exists from SE to TE. From any array-type to System.Array. From any delegate-type to System.Delegate. From any array-type or delegate-type to System.ICloneable. From the null type to any reference-type.
The implicit reference conversions are those conversions between reference-types that can be proven to always succeed, and therefore require no checks at run-time.
Reference conversions, implicit or explicit, never change the referential identity of the object being converted.

[Note: In other words, while a reference conversion may change the type of the reference, it never changes the type or value of the object being referred to. end note]