C# บทความ

Type in C# – ว่าด้วยเรื่องชนิดของข้อมูล

ชนิดของข้อมูลในภาษา C# แบ่งออกเป็น 3 ประเภทใหญ่ๆ คือ

  1. Value Type
  2. Reference Type
  3. Pointer Type

 

1. Value Type ชนิดข้อมูลแบบเก็บค่าจริงๆ เช่นพวก Integer, Bool, Decimal, Floating point

Value Type ยังแบ่งออกเป็น 2 กลุ่มใหญ่ๆ อีกคือ

1.1 struct

โดยใน Struct ยังแบ่งออกเป็น 3 กลุ่มย่อยเข้าไปอีกคือ

1.1.1 Numeric Type พวกตัวเลข แบ่งออกเป็น 3 อีก คือ

1.1.1.1 Integral (จำนวนเต็ม)ได้แก่ sbyte, byte, char, short, ushort, int, uint, long, ulong

1.1.1.2 Floating Point (จำนวนทศนิยม) ได้แก่ float กับ double

1.1.1.3 Decimal (จำนวนจุดทศนิยมแบบแม่นยำมากๆ ใช้กับพวกการเงิน)

1.1.2 Bool Type ข้อมูลแบบถูกผิด True/False

1.1.3 User Define structs กำหนดเอง

1.2 Enumerations ข้อมูลแบบนับ แบบแจกแจง เช่น ชุดข้อมูลของวัน จันทร์ อังคาร พุธ ….

เวลาประกาศก็จะทำได้ว่า enum myDay = {Mon, Tue, Wed,Thu, Fri, Sat, Sun}

 

2. Reference Type  ข้อมูลประเภทอ้างอิง คือ ตัวมันไม่ได้เก็บค่า แต่ตัวมันจะเก็บการอ้างอิงไปหาค่าอีกทีนึง

Reference type จะมี Keyword ที่ใช้ประกาศประกอบด้วย

2.1 Class

2.2 Interface

2.3 Delegate

และมีแบบ built-in ไว้แล้วใช้ได้เลย ได้แก่

2.4 String

2.5 dynamic

2.6 object

3. Pointer Type ข้อมูลประเภทชี้เป้า จะคล้ายๆข้อมูลแบบอ้างอิง แต่จะเป็นแบบ Type Unsafe คือ type ที่ชี้ไปหาอาจจะไม่ตรงกับที่ต้องการใช้

แล้วมันอาจจะทำให้เกิด runtime error ขึ้นมาได้

สังเกตุชนิดข้อมูลแบบ Pointer ได้จากเวลาประกาศจะมีเครื่องหมาย ดาว ติดอยู่หลังชนิดข้อมูล

int* p1, p2;

You may also like