อย่างที่เราทราบดีว่าการเขียนโปรแกรมในภาษาใดๆ ก็ตาม เริ่มต้นด้วยการประกาศตัวแปร หลังจากนั้นจะมีการกำหนดนิยามและการนำตรรกะไปใช้ ดังนั้นจึงเป็นหนึ่งในปัจจัยที่สำคัญที่สุดที่จะทราบว่าจะประกาศตัวแปรในภาษาการเขียนโปรแกรมใด ๆ ก่อนเริ่มเขียนโค้ดได้อย่างไร
ตอนนี้ถ้าเราใช้ตัวอย่างของภาษา C# จะมีการเปลี่ยนแปลงการประกาศในตัวแปรด้วยความก้าวหน้าในภาษา ในเวอร์ชันก่อนหน้าของ C# โค้ดทั้งหมดที่เขียนได้รับการตรวจสอบความถูกต้อง ณ เวลาคอมไพล์เอง ซึ่งทำให้เป็นภาษาแบบสแตติกซึ่งมีการประกาศตัวแปรโดยใช้คีย์เวิร์ด var หลังจาก C#4.0 มีการแนะนำไดนามิกซึ่งการตรวจสอบความถูกต้องของไวยากรณ์หรือการตรวจสอบข้อผิดพลาดเกิดขึ้นเฉพาะในขณะทำงานเท่านั้น และยังแนะนำไดนามิกของคำหลักสำหรับการประกาศตัวแปรด้วย
ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่าง var และไดนามิก
ซีเนียร์ เลขที่ | คีย์ | var | ไดนามิก |
---|---|---|---|
1 | คำจำกัดความ | var เป็นที่รู้จักกันในชื่อตัวแปรประเภทสแตติก ซึ่งหมายความว่าประเภทข้อมูลของตัวแปรเหล่านี้จะถูกอนุมาน ณ เวลารวบรวม ซึ่งขึ้นอยู่กับประเภทของค่าที่ตัวแปรเหล่านี้เริ่มต้นด้วย | ในทางกลับกัน ไดนามิกคือตัวแปรที่พิมพ์แบบไดนามิกซึ่งบอกเป็นนัยอย่างชัดเจนว่าประเภทของมันถูกอนุมาน ณ รันไทม์ ไม่ใช่เวลาคอมไพล์ |
2 | เวอร์ชัน | แนะนำ var ในภาษา c คมชัดใน C#3.0 | ในทางกลับกัน ไดนามิกจะถูกนำมาใช้ในภายหลังใน C#4.0 |
3 | ประเภท | ในกรณีของ var ประเภทของตัวแปรจะถูกระบุโดยคอมไพเลอร์ ณ เวลารวบรวม | ในทางกลับกัน ในกรณีที่ไดนามิก ประเภทของตัวแปรจะถูกระบุในขณะรันไทม์โดยคอมไพเลอร์เอง |
4 | การประกาศ | ในกรณีของ var ตัวแปรจะเริ่มต้นในขณะที่ประกาศเพื่อให้คอมไพเลอร์ทราบประเภทของตัวแปรตามค่าที่กำหนด | ในทางกลับกัน ในกรณีที่เป็นไดนามิก ไม่จำเป็นต้องเริ่มต้นในขณะที่ประกาศ |
5 | ข้อยกเว้น | กำหนดตัวแปรด้วย var ส่งข้อยกเว้นหากไม่ได้เริ่มต้นในขณะที่ประกาศ | ในขณะที่ตัวแปรกำหนดด้วยไดนามิกจะไม่ส่งข้อยกเว้นใดๆ หากไม่ได้เริ่มต้นในเวลาที่ประกาศ |