ไมโครซอฟท์ประกาศฟีเจอร์ภาษา C# 9.0 ที่เพิ่มความสะดวกในการพัฒนาหลายอย่าง ฟีเจอร์ที่เพิ่มมามีข้อเล็กน้อยจำนวนมาก แต่ที่ผมเห็นว่าเด่นๆ เช่น top-level programming, positional records, และการปรับปรุง pattern
top-level programming คือการเขียนโปรแกรมโดยไม่ต้องมี class
และ function
ครอบ Main อีกต่อไป แต่สามารถเขียนโค้ดโดยตรงหลัง using
ได้เลย พร้อมกับสามารถเรียกใช้อาร์กิวเมนต์ผ่านตัวแปร args
ได้
positional records น่าจะคล้ายๆ กับ named-tuple ในภาษาไพธอน โดยตัวแปรแบบ record สามารถกำหนดลำดับของสมาชิกใน record ได้ ทำให้ เวลาต้องการนำค่าของสมาชิกในคลาสออกมาใช้กับตัวแปรภายนอก สามารถกำหนดค่าแบบ var (f, l) = person;
ได้เลย
การปรับปรง pattern ใน C# 9.0 ช่วยให้เขียน switch-case ได้ง่ายขึ้นมาก โดยสามารถกำหนดเงื่อนไขได้ซับซ้อนขึ้น มี and/or/not ในเงื่อนไขได้
ที่มา - Microsoft Dev Blog
Comments
แล้วจะเผาที่ไหนดีล่ะเนี่ย ヾ(•ω•`)o//เผ่น
+100
เผาแบบเชิงตะกอนแทนครับ
JavaScript:Hello, my brother.
เป็นจุดที่โดนล้ออยู่นานเลยนะครับ
กว่าจะ Hello world ได้
นายต้องทำอะไรบ้าง ?
เอาจริงๆ เขียน C# มาผมก็ไม่เคยเขียน main นะ เพราะแค่ new project มันก็สร้างมาครบแล้ว ไม่ได้เสียเวลาอะไรเข้ามาถึงผมก็พิมพ์ MessageBox.Show("Hello World"); ได้เลยเหมือนกัน 5555
แอบรับไม่ได้อยู่เล็กๆ กับการไม่มี Main สงสัยเพราะโตมากับเข้มงวดมาจาก Java ถึงตอนนี้มาDev.netแล้วเจอสิ่งนี้ก็แอบไม่ชิน
การเขียนโปรแกรมยุคเริ่มมีภาษาคอมพิวเตอร์ก็ไม่ได้มี main()
ก็ผมไม่ได้โตมากับ Machine Code ครับ ผมโตมากับ C Sharp พอเห็นสิ่งที่อยู่ในยุคตัวเองเปลี่ยนไปมันก็รู้สึกแก่ครับ...
ไม่ต้องถึงกับ Machine Code
ภาษา BASIC หรือ Pascal ก็ไม่มี main function ครับ
ยึดติดจัง
ตอนแรกรู้สึกเหมือนกัน และรู้สึกว่าโค้ดมันจะดูยากขึ้นไหมตอนนี้ก็คิดซะว่าเหมือนเขียน JavaScript รู้สึกเออ สบายใจขึ้น
ผมว่าคอมไพล์เลอร์มันก็ไปสร้างให้หลังบ้านอยู่ดี คือมันมีแต่เราไม่เห็น ไม่รู้สึกถึงมันเท่านั้นเอง 555
เอาจริง ๆ C# ซ่อนอะไรไว้หลัง Syntax เยอะนะครับ
แอบขัดใจนิดๆ ถ้ามี main อย่างน้อยก็รู้ว่าโปรแกรมเริ่มตรงไหน หรือบังคับให้เริ่มตรงไหนแต่ภาษาที่มี main มันก็ตระกูล C อย่างเดียวนี่เนอะ
ต้นทางบอกว่า Top Level Programs มีได้ไฟล์เดียว ก็เท่ากับว่าเค้าออกแบบมาให้ละ class + main นั่นแหละครับ ส่วนตัวไม่ชอบเหมือนกัน