With this simple C# code, I run csc hello.cs; ildasm /out=hello.txt hello.exe.
class Hello
{
public static void Main()
{
System.
It's the default parameterless constructor. You're correct; it doesn't do anything (besides passing on to the base Object() constructor, which itself doesn't do anything special either anyway).
The compiler always creates a default constructor for a non-static class if there isn't any other constructor defined. Any member variables are then initialized to defaults. This is so you can do
new Hello();
without running into errors.