Tags:
Topics: 
Node Thumbnail

ไมโครซอฟท์ประกาศฟีเจอร์ภาษา C# 9.0 ที่เพิ่มความสะดวกในการพัฒนาหลายอย่าง ฟีเจอร์ที่เพิ่มมามีข้อเล็กน้อยจำนวนมาก แต่ที่ผมเห็นว่าเด่นๆ เช่น top-level programming, positional records, และการปรับปรุง pattern

top-level programming คือการเขียนโปรแกรมโดยไม่ต้องมี class และ function ครอบ Main อีกต่อไป แต่สามารถเขียนโค้ดโดยตรงหลัง using ได้เลย พร้อมกับสามารถเรียกใช้อาร์กิวเมนต์ผ่านตัวแปร args ได้

No Description

positional records น่าจะคล้ายๆ กับ named-tuple ในภาษาไพธอน โดยตัวแปรแบบ record สามารถกำหนดลำดับของสมาชิกใน record ได้ ทำให้ เวลาต้องการนำค่าของสมาชิกในคลาสออกมาใช้กับตัวแปรภายนอก สามารถกำหนดค่าแบบ var (f, l) = person; ได้เลย

การปรับปรง pattern ใน C# 9.0 ช่วยให้เขียน switch-case ได้ง่ายขึ้นมาก โดยสามารถกำหนดเงื่อนไขได้ซับซ้อนขึ้น มี and/or/not ในเงื่อนไขได้

ที่มา - Microsoft Dev Blog

Get latest news from Blognone

Comments

By: Neroroms
Windows
on 23 May 2020 - 14:56 #1159609

แล้วจะเผาที่ไหนดีล่ะเนี่ย ヾ(•ω•`)o
//เผ่น

By: tom789
Windows Phone
on 23 May 2020 - 15:00 #1159612 Reply to:1159609

+100

By: CrazyPower
iPhoneBlackberryRed HatIn Love
on 23 May 2020 - 15:00 #1159613 Reply to:1159609
CrazyPower's picture

เผาแบบเชิงตะกอนแทนครับ

By: illuminator
ContributorAndroidUbuntuWindows
on 23 May 2020 - 15:01 #1159611
illuminator's picture

JavaScript: Hello, my brother.

By: blackdoor on 23 May 2020 - 15:20 #1159620
blackdoor's picture

เป็นจุดที่โดนล้ออยู่นานเลยนะครับ
กว่าจะ Hello world ได้
นายต้องทำอะไรบ้าง ?

By: Nucksoo on 23 May 2020 - 15:59 #1159623
Nucksoo's picture

เอาจริงๆ เขียน C# มาผมก็ไม่เคยเขียน main นะ เพราะแค่ new project มันก็สร้างมาครบแล้ว ไม่ได้เสียเวลาอะไร
เข้ามาถึงผมก็พิมพ์ MessageBox.Show("Hello World"); ได้เลยเหมือนกัน 5555

By: Hadakung
iPhoneWindows PhoneAndroidWindows
on 24 May 2020 - 00:11 #1159660

แอบรับไม่ได้อยู่เล็กๆ กับการไม่มี Main สงสัยเพราะโตมากับเข้มงวดมาจาก Java ถึงตอนนี้มาDev.netแล้วเจอสิ่งนี้ก็แอบไม่ชิน

By: big50000
AndroidSUSEUbuntu
on 24 May 2020 - 00:22 #1159661 Reply to:1159660
big50000's picture

การเขียนโปรแกรมยุคเริ่มมีภาษาคอมพิวเตอร์ก็ไม่ได้มี main()

By: Hadakung
iPhoneWindows PhoneAndroidWindows
on 24 May 2020 - 16:43 #1159699 Reply to:1159661

ก็ผมไม่ได้โตมากับ Machine Code ครับ ผมโตมากับ C Sharp พอเห็นสิ่งที่อยู่ในยุคตัวเองเปลี่ยนไปมันก็รู้สึกแก่ครับ...

By: Ford AntiTrust
ContributorAndroidBlackberryUbuntu
on 24 May 2020 - 16:46 #1159701 Reply to:1159699
Ford AntiTrust's picture

ไม่ต้องถึงกับ Machine Code

ภาษา BASIC หรือ Pascal ก็ไม่มี main function ครับ

By: avaya
Android
on 25 May 2020 - 09:55 #1159755 Reply to:1159699
avaya's picture

ยึดติดจัง

By: deaknaew on 24 May 2020 - 01:29 #1159671 Reply to:1159660

ตอนแรกรู้สึกเหมือนกัน และรู้สึกว่าโค้ดมันจะดูยากขึ้นไหม
ตอนนี้ก็คิดซะว่าเหมือนเขียน JavaScript รู้สึกเออ สบายใจขึ้น

By: mr_tawan
ContributoriPhoneAndroidWindows
on 25 May 2020 - 12:37 #1159791 Reply to:1159660
mr_tawan's picture

ผมว่าคอมไพล์เลอร์มันก็ไปสร้างให้หลังบ้านอยู่ดี คือมันมีแต่เราไม่เห็น ไม่รู้สึกถึงมันเท่านั้นเอง 555

เอาจริง ๆ C# ซ่อนอะไรไว้หลัง Syntax เยอะนะครับ


  • 9tawan.net บล็อกส่วนตัวฮับ
By: shikima
Windows PhoneAndroidUbuntu
on 25 May 2020 - 08:30 #1159733

แอบขัดใจนิดๆ ถ้ามี main อย่างน้อยก็รู้ว่าโปรแกรมเริ่มตรงไหน หรือบังคับให้เริ่มตรงไหน
แต่ภาษาที่มี main มันก็ตระกูล C อย่างเดียวนี่เนอะ

By: war11ck
AndroidSymbianUbuntuWindows
on 25 May 2020 - 11:46 #1159776 Reply to:1159733
war11ck's picture

ต้นทางบอกว่า Top Level Programs มีได้ไฟล์เดียว ก็เท่ากับว่าเค้าออกแบบมาให้ละ class + main นั่นแหละครับ ส่วนตัวไม่ชอบเหมือนกัน