เนื่องจาก C# เป็นภาษาที่มีการพิมพ์อย่างชัดเจน ตัวแปรและค่าคงที่ทุกตัวจึงมีประเภทที่กำหนดไว้ล่วงหน้า ก่อนใช้ตัวแปรใดๆ เราต้องบอกคอมไพเลอร์ว่าตัวแปรจะเก็บค่าประเภทใด
หากเราไม่แน่ใจเกี่ยวกับประเภท เราจะจัดการโดยใช้โปรแกรมแบบไดนามิก การเขียนโปรแกรมแบบไดนามิกได้รับการสนับสนุนโดย ไดนามิก คำสำคัญ
ใช้คีย์เวิร์ดแบบไดนามิกเพื่อประกาศประเภทไดนามิก ประเภทไดนามิกบอกคอมไพเลอร์ว่าอ็อบเจ็กต์ถูกกำหนดเป็นไดนามิกและข้ามการตรวจสอบประเภท ณ เวลาของคอมไพเลอร์ หน่วงเวลาการตรวจสอบประเภทจนถึงรันไทม์ ไวยากรณ์ทั้งหมดได้รับการตรวจสอบและเกิดข้อผิดพลาดขณะใช้งานจริง
ตัวอย่าง
using System; namespace DemoDynamicKeyword{ class Program{ static void Main(string[] args){ dynamic MyDynamicVar = 100; Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType()); MyDynamicVar = "Hello World!!"; Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType()); MyDynamicVar = true; Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType()); MyDynamicVar = DateTime.Now; Console.WriteLine("Value: {0}, Type: {1}", MyDynamicVar, MyDynamicVar.GetType()); } } }
ผลลัพธ์
ผลลัพธ์ของตัวอย่างข้างต้นมีดังนี้
Value: 100, Type: System.Int32 Value: Hello World!!, Type: System.String Value: True, Type: System.Boolean Value: 01-01-2014, Type: System.DateTime