An Enumerator, often known as an Enum, is a value type that has a collection of constants assigned to the subset of the list. When more than a number has to be defined, enumeration is utilized.  A delegate is an object that may be used to refer to a method. When we attach a delegate to a method, it functions precisely like that method.  Example:  public delegate int performaddition(int z, int b);