Note
String เป็น immutable type ที่ไม่มี public api สำหรับแก้ไขข้อมูล เราจึงไม่สามารถเปลี่ยนค่าใน memory ที่เก็บ string ได้ ในกรณีที่มีการ assign ค่าใหม่ CLR จะสร้าง string ชุดใหม่เก็บใน memory ตำแหน่งใหม่
Pointer
ใน C# ไม่มี type ไหนเป็น immutable ที่สมบูรณ์ เนื่องจากเราสามารถใช้ pointer เข้าถึงตำแหน่งใน memory ได้โดยตรง การใช้ pointer ใน C# ต้องทำใน unsafe block เท่านั้น
ตัวอย่าง
1 | class Test { |