Briefly explain the characteristics of reference-type variables that are supported in the C# programming language.
The variables that are based on reference types keeps references to the actual data. The keywords that are used to declare reference types are:
Class - Refers to the primary building block for the programs, which is used to encapsulate variables and methods into a single unit.
Interface - Having only the signatures of methods, properties, events, or indexers.
Delegate - Refers to a reference type that is used to encapsulate a named or anonymous method.