Dynamic Type ใน C# คืออะไร

Dynamic Type Ni C Khux Xari



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

การพิมพ์แบบไดนามิกคืออะไร

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

ในการพิมพ์แบบไดนามิก คอมไพเลอร์จะไม่ทำการตรวจสอบประเภทในระหว่างการคอมไพล์ ประเภทของตัวแปรจะถูกกำหนดที่รันไทม์ตามค่าที่กำหนดแทน ซึ่งช่วยให้การผูกข้อมูลล่าช้า โดยที่การเรียกใช้เมธอดและการเข้าถึงของสมาชิกได้รับการแก้ไขแบบไดนามิกตามประเภทที่แท้จริงของออบเจกต์







วิธีใช้ Dynamic Type ใน C#

หากต้องการใช้ประเภทไดนามิกใน C# คุณเพียงแค่ประกาศตัวแปรโดยใช้คำหลักไดนามิก ตัวอย่างเช่น:



myVariable แบบไดนามิก = 'สวัสดีชาวโลก!' ;

ในตัวอย่างนี้ myVariable ถูกประกาศเป็นตัวแปรไดนามิกและกำหนดค่าเป็น “Hello, World!” ที่รันไทม์ ประเภทของ myVariable จะถูกกำหนดให้เป็นสตริง



ตัวอย่างการใช้ Dynamic Type ใน C#

รหัสนี้สาธิตการใช้คำหลักแบบไดนามิกใน C#:





ใช้ระบบ ;
โปรแกรมชั้นเรียนสาธารณะ
{
สาธารณะ คงที่ เป็นโมฆะ หลัก ( )
{
ไดนามิก myDynamicVariable = 42 ;
คอนโซล เขียนไลน์ ( 'ค่า: {0}, ประเภท: {1}' , myDynamicVariable , myDynamicVariable รับประเภท ( ) ) ;

myDynamicVariable = 'สวัสดีชาวโลก!' ;
คอนโซล เขียนไลน์ ( 'ค่า: {0}, ประเภท: {1}' , myDynamicVariable , myDynamicVariable รับประเภท ( ) ) ;

myDynamicVariable = เท็จ ;
คอนโซล เขียนไลน์ ( 'ค่า: {0}, ประเภท: {1}' , myDynamicVariable , myDynamicVariable รับประเภท ( ) ) ;

myDynamicVariable = วันเวลา. ตอนนี้ ;
คอนโซล เขียนไลน์ ( 'ค่า: {0}, ประเภท: {1}' , myDynamicVariable , myDynamicVariable รับประเภท ( ) ) ;

MyCustomFunction ( myDynamicVariable ) ;
}

สาธารณะ คงที่ เป็นโมฆะ MyCustomFunction ( ข้อมูลแบบไดนามิก )
{
คอนโซล เขียนไลน์ ( 'เอาต์พุตฟังก์ชันที่กำหนดเอง: {0}' , ข้อมูล ) ;
}
}

ไดนามิกคีย์เวิร์ดทำให้ตัวแปรสามารถพิมพ์ไดนามิกได้ ซึ่งหมายความว่าประเภทของตัวแปรสามารถเปลี่ยนแปลงได้ในขณะรันไทม์ ในโค้ด ตัวแปรชื่อ myDynamicVariable ถูกประกาศเป็นไดนามิกและเริ่มกำหนดค่าจำนวนเต็มเป็น 42 จากนั้นจะพิมพ์พร้อมกับประเภทโดยใช้ Console.WriteLine

จากนั้น myDynamicVariable จะได้รับการกำหนดค่าสตริง (“Hello World!”) และพิมพ์อีกครั้งด้วยประเภทของมัน กระบวนการเดียวกันนี้ซ้ำแล้วซ้ำอีกสำหรับค่าบูลีนและสุดท้ายสำหรับวันที่และเวลาปัจจุบันที่ได้รับโดยใช้ DateTime.Now



โค้ดยังมี MyCustomFunction ที่รับข้อมูลพารามิเตอร์ไดนามิกและพิมพ์ออกมา ฟังก์ชัน myDynamicVariable เรียกว่าอาร์กิวเมนต์ ซึ่งแสดงให้เห็นว่าสามารถส่งผ่านตัวแปรไดนามิกไปยังฟังก์ชันได้ และสามารถกำหนดประเภทของตัวแปรได้ในขณะรันไทม์

บทสรุป

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