Type Casting or Type Conversion
กฤตนัย วันดี 650710212
Type Casting คือ
การแปลงประเภทข้อมูลเกิดขึ้นเมื่อเรานำค่าจากชนิดข้อมูลหนึ่งไปใส่ในอีกชนิดหนึ่ง หากชนิดข้อมูลสามารถเข้ากันได้ C# จะทำการแปลงอัตโนมัติให้ แต่หากไม่สามารถเข้ากันได้ จะต้องทำการแปลงโดยผู้ใช้เอง ซึ่งเรียกว่า Explicit Type Conversion เช่น การนำค่า int ไปใส่ในตัวแปรชนิด long
ตัวอย่างเช่น ใน C# ประเภทข้อมูลตัวเลขจะเข้ากันได้ แต่ไม่มีการรองรับการแปลงอัตโนมัติจากประเภทตัวเลขเป็น char หรือ boolean นอกจากนี้ char และ boolean ยังไม่เข้ากันได้ ก่อนที่จะทำการแปลง คอมไพเลอร์จะตรวจสอบความเข้ากันได้ตามรูปต่อไปนี้ก่อน จากนั้นจึงตัดสินใจว่าเข้ากันได้หรือไม่หรือมีข้อผิดพลาดเกิดขึ้น

int ไปเป็น long หรือจาก float ไปเป็น double ชนิดข้อมูลเหล่านี้สามารถแปลงได้โดยไม่มีการสูญเสียข้อมูล เนื่องจากขนาดหรือความแม่นยำของชนิดข้อมูลเป้าหมายมีมากกว่าหรือเท่ากับข้อมูลต้นทางbyte
short, int, long, float, double
short
int, long, float, double
int
long, float, double
long
float, double
float
double
ตัวอย่างโค้ด Implicit Type Conversion
ผลลัพท์
ตัวอย่างเมื่อประเภทข้อมูลไม่เข้ากัน
ผลลัพท์
ดังนั้น หากเราต้องการกำหนดค่าประเภทข้อมูลขนาดใหญ่ให้กับประเภทข้อมูลขนาดเล็ก เราจะดำเนินการแปลงประเภทโดยชัดเจน
สิ่งนี้มีประโยชน์สำหรับประเภทข้อมูลที่ไม่เข้ากันซึ่งไม่สามารถทำการแปลงอัตโนมัติได้
ในที่นี้ ชนิดข้อมูลเป้าหมาย (target-type) จะระบุชนิดที่ต้องการแปลงค่าที่กำหนดไปยังชนิดนั้น โดยการแปลงนี้สามารถใช้กับข้อมูลที่ไม่เข้ากันและไม่สามารถแปลงได้โดยอัตโนมัติ ซึ่งอาจทำให้เกิดการสูญเสียข้อมูลได้ในบางกรณี
การแปลงชนิดข้อมูลบางครั้งอาจส่งผลให้เกิดการสูญเสียข้อมูล (lossy conversion) ซึ่งหมายถึงเมื่อข้อมูลจากชนิดที่ใหญ่กว่าถูกแปลงไปยังชนิดที่เล็กกว่า จะมีข้อมูลบางส่วนหายไปหรือไม่สามารถเก็บรักษาทุกค่าได้ เช่น การแปลงจาก
floatหรือdoubleเป็นintอาจทำให้สูญเสียทศนิยมและมีผลต่อความถูกต้องของข้อมูล
ตัวอย่างโค้ด Explicit Type Casting
ผลลัพท์
วิธีการแปลงประเภท C#
C# ให้วิธีการแปลงประเภทในตัวดังต่อไปนี้
1
ToBoolean
แปลงชนิดข้อมูลเป็นค่า Boolean หากทำได้
2
ToByte
แปลงชนิดข้อมูลเป็น byte
3
ToChar
แปลงชนิดข้อมูลเป็นตัวอักษร Unicode
4
ToDateTime
แปลงชนิดข้อมูล (ตัวเลขหรือสตริง) เป็น DateTime
5
ToDecimal
แปลงชนิดข้อมูลเป็น decimal
6
ToDouble
แปลงชนิดข้อมูลเป็น double
7
ToInt16
แปลงเป็น 16-bit integer
8
ToInt32
แปลงเป็น 32-bit integer
9
ToInt64
แปลงเป็น 64-bit integer
10
ToSbyte
แปลงเป็น signed byte
11
ToSingle
แปลงเป็นตัวเลขจุดทศนิยมเล็ก.
12
ToString
แปลงเป็นสตริง
13
ToType
แปลงเป็นชนิดข้อมูลที่กำหนด.
14
ToUInt16
แปลงเป็น unsigned 16-bit integer.
15
ToUInt32
แปลงเป็น unsigned 32-bit integer
16
ToUInt64
แปลงเป็น unsigned 64-bit integer
ตัวอย่างแปลงประเภทค่าต่างๆ ให้เป็นประเภทสตริง
}
ผลลัพท์
Presentation
Video Clip
Reference
เนื้อหา Type Casting และโค้ด Implicit Type Conversion
เนื้อหา วิธีการแปลงประเภทของ C# และ โค้ด explicit type conversion กับ การแปลงค่าต่างๆให้เป็นสตริง
Last updated
