LOWNLAB News
โปรแกรมมิ่งระดับ 7/10The Register · 2 กันยายน 2026

C# 15 จะมี union types ในเดือนพฤศจิกายน พร้อม closed hierarchies และ unsafe แบบใหม่

Microsoft devs rejoice: Union types coming to C# in November

Microsoft ยืนยันว่า C# 15 ซึ่งจะเปิดตัวในเดือนพฤศจิกายน 2026 จะมาพร้อม union types ฟีเจอร์ที่นักพัฒนา C# เรียกร้องมานาน โดยสามารถทดลองใช้ได้แล้วผ่าน preview ของ .NET 11

Union types คือกลไกที่ให้รวมชนิดข้อมูลที่กำหนดเองหลายชนิดเข้าเป็นชนิดเดียว เช่นใช้คีย์เวิร์ด `union` รวม "Dog", "Cat" และ "Bird" เข้าเป็นหมวด "Pet" ซึ่งจะได้สัญญาที่คอมไพเลอร์ตรวจสอบได้ (compiler-verified contract) และขยายเกินชนิดที่ประกาศไว้ไม่ได้ ประโยชน์ที่ตามมาได้แก่ pattern matching ที่ทรงพลังขึ้น การเขียนฟังก์ชันเฉพาะสำหรับ union ได้ การป้องกันชนิดข้อมูลที่ไม่คาดคิด และการลดโค้ด boilerplate สำหรับจัดการ error

ตัวอย่างการใช้งานที่นักพัฒนาสาธิตคือการรวม record สองตัว ตัวหนึ่งแทนความสำเร็จด้วยจำนวนเต็ม อีกตัวแทนข้อความ error เข้าเป็น switch expression เดียว โดยไม่ต้องสร้างคลาสห่อหุ้มหรือพึ่งไลบรารีของบุคคลที่สาม ซึ่งเป็นแพตเทิร์นที่คนเขียน Rust หรือ TypeScript คุ้นเคยดี

นอกจาก union แล้ว C# 15 ยังมีฟีเจอร์อื่นอีกหลายอย่าง ได้แก่ closed hierarchies (ใช้คีย์เวิร์ด `closed` บนคลาสฐานเพื่อจำกัดการสืบทอดให้อยู่ภายใน assembly เดียวกัน), การขยายคีย์เวิร์ด `unsafe` ให้ส่งต่อภาระด้านความปลอดภัยไปยังผู้เรียกตามแนวทางของ Rust และ Swift, collection expression arguments ที่ส่งพารามิเตอร์เข้า constructor ของคอลเลกชันโดยตรงด้วยคีย์เวิร์ด `with`, indexers ใน extension block และ label สำหรับควบคุมลูปด้วย break/continue

Mads Torgersen หัวหน้าทีมออกแบบภาษา C# สรุปสั้น ๆ ว่า "นี่คือรูปแบบที่ union ควรจะเป็น" ขณะที่เอกสารของ Microsoft ระบุว่า "Unions ทำให้ออกแบบสิ่งที่ลำดับชั้นแบบดั้งเดิมแสดงออกไม่ได้ ด้วยการประกอบชนิดที่มีอยู่แล้วเข้าเป็นสัญญาเดียวที่คอมไพเลอร์ตรวจสอบได้"

แหล่งอ้างอิง

อ่านต้นฉบับที่ The Register

https://www.theregister.com/devops/2026/09/02/microsoft-devs-rejoice-union-types-coming-to-c-in-november/5294056