Nullable Types
ฐิติรัตน์ หล่อเจริญ 650710215
Nullable Types ใน C# คือชนิดข้อมูลที่สามารถเก็บค่า null ได้ ถึงจะเป็นชนิดข้อมูลแบบ value types เช่น int, double, หรือ bool ซึ่งปกติไม่สามารถมีค่า null ได้
วิธีการเข้าถึงค่าของตัวแปรแบบ Nullable
สามารถใช้เมธอด GetValueOrDefault() เพื่อรับค่า หากไม่ใช่ค่า null จะได้รับค่า แต่ถ้าเป็นค่า null ค่าเริ่มต้นสำหรับค่า null จะเป็น 0
ลักษณะของ Nullable Types
สามารถกำหนดค่าค่าว่างให้กับตัวแปรได้โดยไม่ต้องสร้าง Nullable Types
ใน Nullable Types สามารถกำหนดค่าให้กับประเภท nullable ได้เช่นกัน
สามารถใช้ Nullable.HasValue และ Nullable.Value เพื่อตรวจสอบค่า ถ้า object กำหนดค่าไว้ ก็จะส่งคืนค่า True และถ้า object กำหนดค่าเป็นค่าว่าง ก็จะส่งคืนค่า False ถ้า object ไม่ได้รับการกำหนดค่า ก็จะเกิดข้อผิดพลาดเวลาคอมไพล์
สามารถใช้ == และ ! กับ Nullable Type ได้
ใช้method GetValueOrDefault(T) เพื่อรับค่าที่กำหนดหรือค่าที่ให้มาได้ ถ้าค่าของ Nullable Type คือ null
สามารถใช้ null-coalescing operator (??) เพื่อกำหนดค่าประเภทพื้นฐานซึ่งมีต้นกำเนิดมาจากค่าของ nullable type
Nullable Types ไม่สนับสนุน Nullable Types แบบซ้อนกัน
ไม่รองรับ var type หากใช้ Nullable กับ var คอมไพเลอร์จะเกิดข้อผิดพลาดเวลาคอมไพล์
ข้อดี
การใช้งานหลักของ Nullable Types คือในแอปพลิเคชันฐานข้อมูล
มีประโยชน์ในการแสดงค่าที่ไม่ได้กำหนด(undefined value)
ใช้ Nullable Types แทนเพื่อเก็บค่า null
การเปรียบเทียบกับภาษา Java/C/Python
Nullable Types ใน C# สามารถใช้เครื่องหมาย ? ตามหลังชนิดข้อมูลเพื่อระบุว่าเป็น nullable type เช่น int? หรือใช้โครงสร้าง Nullanle<>
Presentation (slides)
Clip
แหล่งอ้างอิง
Last updated