Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ความแตกต่างระหว่าง Static Constructor และ Instance Constructor ใน C #


ตัวสร้างแบบคงที่

ตัวสร้างแบบคงที่คือตัวสร้างที่ประกาศโดยใช้ตัวแก้ไขแบบคงที่ เป็นรหัสกลุ่มแรกที่ดำเนินการในชั้นเรียน ด้วยเหตุนี้ คอนสตรัคเตอร์แบบคงที่จึงดำเนินการเพียงครั้งเดียวในวงจรชีวิตของคลาส

ตัวสร้างอินสแตนซ์

ตัวสร้างอินสแตนซ์เริ่มต้นข้อมูลอินสแตนซ์ ตัวสร้างอินสแตนซ์จะถูกเรียกเมื่อมีการสร้างวัตถุของคลาส

ตัวอย่างต่อไปนี้แสดงความแตกต่างระหว่างตัวสร้างสแตติกและอินสแตนซ์ใน 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);
         d1.show();
         d2.show();
         Console.ReadKey();
      }
   }
}

ผลลัพธ์

This is Static Constructor
This is Instance Constructor
This is Instance Constructor
First Value = 70
Second Value = 110
First Value = 70
Second Value = 200