What is a static constructor in C#?

CsharpProgrammingServer Side Programming

A static constructor is a constructor declared using a static modifier. It is the first block of code executed in a class. With that, a static constructor executes only once in the life cycle of class.

The following is an example of static constructors in C# −


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Difference {
   class Demo {
      static int val1;
      int val2;

      static Demo() {
         Console.WriteLine("This is Static Constructor");
         val1 = 70;

      public Demo(int val3) {
         Console.WriteLine("This is Instance Constructor");
         val2 = val3;
      private void show() {
         Console.WriteLine("First Value = " + val1);
         Console.WriteLine("Second Value = " + val2);

      static void Main(string[] args) {
         Demo d1 = new Demo(110);
         Demo d2 = new Demo(200);
Published on 13-Aug-2018 15:54:13