Static Constructor in C#

In C#, a static constructor is a special type of constructor that is used to initialize any static data or to perform a particular action that needs to be executed once when the class is loaded into memory, typically before any instance of the class is created, or any static members are accessed

About Static constructors

In a Simple way of understanding

Usages of Static constructors

Sample Program

class MyStaticClass
{
    private static readonly int _age;

    public static int MemberAge
    {
        get
        {
            Console.WriteLine("i am refered MemberAge");
            return _age;
        }
    }

    private static readonly string _name;

    public static string MemberName
    {
        get
        {
            Console.WriteLine("i am refered MemberName");
            return _name;
        }
    }

    static MyStaticClass()
    {
        Console.WriteLine("i am called - Initialization of static data");
        _age = 42;
        _name = "Demo";
    }
}
 Console.WriteLine(" Main Started");
 Console.WriteLine(" Main Access MemberName Start");
 Console.WriteLine(MyStaticClass.MemberName);
 Console.WriteLine(" Main Access MemberName End");

 Console.WriteLine(" Main Access MemberAge Start");
 Console.WriteLine(MyStaticClass.MemberAge);
 Console.WriteLine(" Main Access MemberAge End");
 Console.WriteLine(" Main Ended");

 Console.ReadLine();

Result

 Main Started
 Main Access MemberName Start
i am called - Initialization of static data
i am refered MemberName
Demo
 Main Access MemberName End
 Main Access MemberAge Start
i am refered MemberAge
42
 Main Access MemberAge End
 Main Ended

Thanks