class in C#

Classes are declared by using the class keyword followed by an identifier.
* The class keyword is preceded by the access modifier. Because public is used in below case, anyone can create instances of this class. 
* The name of the class follows the class keyword. The name of the class must be a valid identifier. 
* The remainder is the class body, where the class members are defined, including fields, properties, methods, and events.
```
//[access modifier] - [class] - [identifier]
public class Program {
    // Fields, properties, methods and events go here...
    static void Main(string[] args) {
        Program p = new Program();   
        System.Console.WriteLine(p);
    }
}
```
C# does not support local class or local inner class; nested class in C# are essentially static nested class.