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.