ประวัติเวอร์ชัน C# และ .Net

⚡ สรุปอย่างชาญฉลาด

ประวัติเวอร์ชันของ C# และ .NET traces how Microsoft มีการพัฒนาภาษาและเฟรมเวิร์กมาตั้งแต่การเปิดตัว .NET Framework 1.0 และ C# 1.0 ในปี 2002 จนถึง .NET 10 และ C# 14 ที่ทันสมัยและใช้งานได้หลายแพลตฟอร์มในปี 2025

  • 🇧🇷 ต้นทาง: .NET Framework 1.0 และ C# 1.0 เปิดตัวพร้อมกันในปี 2002 Windows พัฒนาการ
  • 🧱 .NET กรอบงาน: การขอ Windows- ผลิตภัณฑ์ตระกูล Only มีการอัปเดตจนถึงเวอร์ชัน 4.8.1 ในปี 2022 และปัจจุบันได้รับการอัปเดตเฉพาะการแก้ไขช่องโหว่ด้านความปลอดภัยเท่านั้น
  • 🔀 การเปลี่ยนแปลง: .NET Core ซึ่งต่อมาเปลี่ยนชื่อเป็น .NET ได้เข้ามาแทนที่ Framework ด้วยรันไทม์แบบโอเพนซอร์สที่ใช้งานได้บนหลายแพลตฟอร์ม
  • 🆕 รุ่นล่าสุด: .NET 10 และ C# 14 เปิดตัวในเดือนพฤศจิกายน 2025 ในฐานะเวอร์ชันสนับสนุนระยะยาว
  • 💡 การเติบโตของ C#: แต่ละเวอร์ชันที่ออกใหม่จะมีการเพิ่มฟีเจอร์ต่างๆ เช่น เจเนริกส์, async/await, เรคอร์ด และคอนสตรัคเตอร์หลัก
  • 🤖 ความเกี่ยวข้องของ AI: ML.NET, ONNX Runtime และ GitHub Copilot นำการเรียนรู้ของเครื่องและการช่วยเหลือด้าน AI มาสู่ภาษา C# สมัยใหม่

ประวัติเวอร์ชันของ C# และ .NET

ประวัติเวอร์ชัน .Net Framework

.NET Framework เวอร์ชันแรกเปิดตัวในปี 2002 โดยใช้ชื่อว่า .NET Framework 1.0 นับตั้งแต่นั้นมา .NET Framework ได้พัฒนาไปไกลมาก และเวอร์ชันล่าสุดคือ 4.8.1 ซึ่งเปิดตัวในปี 2022 การพัฒนาในปัจจุบันได้ย้ายไปใช้แพลตฟอร์ม .NET (เดิมคือ .NET Core) ซึ่งเป็นแพลตฟอร์มข้ามแพลตฟอร์มแล้ว

ด้านล่างนี้คือตารางแสดงเวอร์ชันของ .NET Framework ที่วางจำหน่าย พร้อมวันที่วางจำหน่าย แต่ละเวอร์ชันมีการเปลี่ยนแปลงที่สำคัญในเฟรมเวิร์ก

ตัวอย่างเช่น ในเฟรมเวิร์กเวอร์ชัน 3.5 ขึ้นไป เฟรมเวิร์กหลักที่เรียกว่า กรอบงานเอนทิตี ได้ถูกปล่อยออกมาแล้ว เฟรมเวิร์กนี้ใช้เพื่อเปลี่ยนแนวทางการพัฒนาแอปพลิเคชันในขณะที่ทำงานร่วมกับ ฐานข้อมูล.

หมายเลขรุ่น เวอร์ชัน CLR วันที่ออกข่าว
1.0 1.0 2002-02-13
1.1 1.1 2003-04-24
2.0 2.0 2005-11-07
3.0 2.0 2006-11-06
3.5 2.0 2007-11-19
4.0 4 2010-04-12
4.5 4 2012-08-15
4.5.1 4 2013-10-17
4.5.2 4 2014-05-05
4.6 4 2015-07-20
4.6.1 4 2015-11-17
4.6.2 4 2016-08-02
4.7 4 2017-04-05
4.7.1 4 2017-10-17
4.7.2 4 2018-04-30
4.8 4 2019-04-18
4.8.1 4 2022-08-09

ข้อได้เปรียบที่ใหญ่ที่สุดของ .เฟรมเวิร์ก.เน็ต คือการที่มันสนับสนุน Windows แพลตฟอร์มที่เกือบทุกคนใช้ในการทำงาน Microsoft รับรองเสมอว่ากรอบงาน .Net เป็นไปตามข้อกำหนดที่รองรับทั้งหมด Windows ระบบปฏิบัติการ.

เวอร์ชัน 4.8.1 เป็นเวอร์ชันหลักสุดท้ายของ .NET Framework และยังคงได้รับการสนับสนุนในฐานะส่วนประกอบในตัว Windows ส่วนประกอบ แต่ Microsoft ขณะนี้ฟีเจอร์ใหม่ ๆ สามารถใช้งานได้เฉพาะผ่านแพลตฟอร์ม .NET ที่ทันสมัยตามที่อธิบายไว้ด้านล่างเท่านั้น

ประวัติเวอร์ชัน C#

ภาษา C# ได้พัฒนาควบคู่ไปกับเฟรมเวิร์ก โดยได้รับคุณสมบัติใหม่ๆ ที่สำคัญในเกือบทุกเวอร์ชัน ตารางด้านล่างนี้แสดงความสัมพันธ์ระหว่างแต่ละเวอร์ชันของ C# กับแพลตฟอร์ม .NET และเวอร์ชันของ Visual Studio พร้อมด้วยคุณสมบัติเด่นที่เพิ่มเข้ามา

เวอร์ชั่น .NET / เฟรมเวิร์ก Visual Studio คุณลักษณะที่สำคัญ
C # 1.0 .NET Framework 1.0/1.1 วิชวลสตูดิโอ .NET 2002 การเปิดตัวครั้งแรกของ C#
C # 2.0 . 2.0 NET Framework Visual Studio 2005 เจเนริกส์, ประเภทบางส่วน, เมธอดนิรนาม, ประเภทที่อนุญาตให้เป็นค่าว่าง, ตัววนซ้ำ, ความแปรปรวนร่วม และความแปรปรวนผกผัน
C # 3.0 .NET Framework 3.0/3.5 Visual Studio 2008 คุณสมบัติที่สร้างขึ้นโดยอัตโนมัติ, ประเภทนิรนาม, นิพจน์แบบสอบถาม, นิพจน์แลมบ์ดา, โครงสร้างต้นไม้นิพจน์, เมธอดส่วนขยาย
C # 4.0 . 4.0 NET Framework Visual Studio 2010 การผูกแบบไดนามิก, อาร์กิวเมนต์แบบระบุชื่อ/ไม่บังคับ, ความแปรผันร่วมและความแปรผันผวนทั่วไป, ประเภทการทำงานร่วมกันแบบฝังตัว
C # 5.0 . 4.5 NET Framework วิชวลสตูดิโอ 2012/2013 สมาชิกแบบอะซิงโครนัส, คุณลักษณะข้อมูลผู้เรียก
C # 6.0 . 4.6 NET Framework วิชวลสตูดิโอ 2013/2015 การนำเข้าแบบคงที่, ตัวกรองข้อยกเว้น, ตัวเริ่มต้นคุณสมบัติ, สมาชิกที่มีเนื้อหาเป็นนิพจน์, ตัวส่งต่อค่าว่าง, การแทรกสตริง, ตัวดำเนินการ nameof, ตัวเริ่มต้นพจนานุกรม
C # 7.0 .NET Framework 4.6.2 / .NET Core Visual Studio 2017 ตัวแปรเอาต์, ทูเปิลและการแยกส่วน, การจับคู่รูปแบบ, ฟังก์ชันภายใน, ตัวแปรอ้างอิงภายในและค่าส่งคืน, สมาชิกที่มีเนื้อหาเป็นนิพจน์
C # 8.0 .NET คอร์ 3.0 Visual Studio 2019 ประเภทอ้างอิงที่อนุญาตค่าว่าง, นิพจน์สวิตช์, สตรีมแบบอะซิงโครนัส, เมธอดอินเทอร์เฟซเริ่มต้น, ช่วง และดัชนี
C # 9.0 .NET5 Visual Studio 2019 เรคอร์ด, ตัวกำหนดค่าเริ่มต้นเท่านั้น, คำสั่งระดับบนสุด, การปรับปรุงการจับคู่รูปแบบ
C # 10 .NET6 Visual Studio 2022 การใช้งานทั่วโลกโดยใช้คำสั่ง, เนมสเปซที่กำหนดขอบเขตไฟล์, โครงสร้างเรคอร์ด, สตริงที่แทรกค่าคงที่
C # 11 .NET7 Visual Studio 2022 สตริงลิเทอรัลแบบดิบ, สมาชิกที่จำเป็น, คณิตศาสตร์ทั่วไป, รูปแบบรายการ, สตริงลิเทอรัลแบบ UTF-8
C # 12 .NET8 Visual Studio 2022 ตัวสร้างหลัก, นิพจน์คอลเลกชัน, อาร์เรย์แบบอินไลน์, พารามิเตอร์แลมบ์ดาเสริม, ชื่อแทนของประเภทใดๆ
C # 13 .NET9 Visual Studio 2022 คอลเลกชัน params, ประเภท Lock ใหม่, ลำดับการหลีกเลี่ยง \e, การเข้าถึงดัชนีโดยปริยาย, ref และ unsafe ในตัววนซ้ำ
C # 14 .NET10 Visual Studio 2022 สมาชิกส่วนขยาย, คำหลักฟิลด์, การกำหนดค่าแบบมีเงื่อนไขค่าว่าง, การแปลงสแปนโดยปริยาย, แอปพลิเคชันแบบไฟล์

.NET Framework และ .NET Core แตกต่างกันอย่างไร?

.NET Framework และ .NET Core เป็นตัวแทนของแนวคิดเดียวกันในสองรุ่น .NET Framework ซึ่งเปิดตัวครั้งแรกในปี 2002 และหยุดการพัฒนาที่เวอร์ชัน 4.8.1 นั้น ทำงานได้เฉพาะบนระบบปฏิบัติการบางระบบเท่านั้น Windows และติดตั้งเป็นส่วนประกอบของระบบ .NET Core ซึ่งเปิดตัวในปี 2016 เป็นการเขียนโค้ดใหม่ทั้งหมดที่ทำงานบน Windows, ลินุกซ์ และ macOSตั้งแต่เวอร์ชัน 5 เป็นต้นไป Microsoft ตัดคำว่า “Core” ออก และตั้งชื่อผลิตภัณฑ์ว่า “.NET” แทนping ใช้หมายเลข 4 เพื่อหลีกเลี่ยงความสับสนกับเฟรมเวิร์กเวอร์ชันเก่า

ความแตกต่างที่สำคัญที่สุดคือ:

  • แพลตฟอร์ม: .NET Framework คือ Windows-เท่านั้น ในขณะที่ .NET รุ่นใหม่นั้นใช้งานได้ข้ามแพลตฟอร์ม
  • แบบจำลองแหล่งที่มา: .NET สมัยใหม่เป็นโอเพนซอร์สอย่างสมบูรณ์และได้รับการพัฒนาแบบเปิดเผยบน GitHub
  • การใช้งาน: .NET เวอร์ชันใหม่รองรับการทำงานแบบคู่ขนานและแอปพลิเคชันแบบครบวงในตัวเอง โดยจะมี .NET Framework 4.x ได้เพียงเวอร์ชันเดียวต่อเครื่องเท่านั้น
  • ประสิทธิภาพ: รันไทม์ CoreCLR ที่อยู่เบื้องหลัง .NET รุ่นใหม่นั้นเร็วกว่าในเกือบทุกเกณฑ์วัดประสิทธิภาพการประมวลผล
  • อนาคต: .NET Framework เวอร์ชันเก่าจะได้รับการแก้ไขช่องโหว่ด้านความปลอดภัยเท่านั้น ในขณะที่ .NET เวอร์ชันใหม่จะได้รับฟีเจอร์ใหม่ทั้งหมด

วิธีตรวจสอบเวอร์ชัน .NET Framework ของคุณ

การทราบเวอร์ชันที่ติดตั้งจะช่วยให้คุณตรวจสอบความเข้ากันได้ก่อนที่จะเรียกใช้หรือสร้างแอปพลิเคชัน Windows คุณสามารถตรวจสอบเวอร์ชัน .NET Framework ที่ติดตั้งไว้ได้หลายวิธี:

  • โปรแกรมแก้ไขรีจิสทรี: จุดเปิด regedit และไปที่ HKEY_LOCAL_MACHINE \ ซอฟต์แวร์ \Microsoftการตั้งค่า NET Framework\NDP\v4\แบบเต็มส่วน ปล่อย ค่า DWORD จะสัมพันธ์กับเวอร์ชัน ตัวอย่างเช่น 528040 หรือสูงกว่า หมายถึงเวอร์ชัน 4.8 และ 533320 หรือสูงกว่า หมายถึงเวอร์ชัน 4.8.1
  • พร้อมรับคำสั่ง: วิ่ง คำสั่งค้นหา “HKLM\SOFTWARE\Microsoft“การตั้งค่า Net Framework\NDP\v4” /s เพื่อแสดงรายการรหัสเวอร์ชัน
  • พาวเวอร์เชลล์: วิ่ง รับคุณสมบัติของรายการ “HKLM:\ซอฟต์แวร์\Microsoft“NET Framework Setup\NDP\v4\Full” | เลือก Object Release และเปรียบเทียบตัวเลขกับแผนที่อย่างเป็นทางการping.
  • ตัวสำรวจไฟล์: จุดเปิด C: \Windows\Microsoft.NET\Frameworkป้อนค่าสูงสุด v4.0.30319 เปิดโฟลเดอร์แล้วคลิกขวาที่ไฟล์ DLL ใดก็ได้ จากนั้นอ่านเวอร์ชันของผลิตภัณฑ์

หากต้องการตรวจสอบ .NET เวอร์ชันใหม่แทนที่จะเป็น Framework ให้เปิดเทอร์มินัลแล้วเรียกใช้คำสั่งต่อไปนี้ dotnet –list-sdks และ dotnet –list-runtimesหรือ dotnet –เวอร์ชัน สำหรับ SDK ที่ใช้งานอยู่ คำสั่งเหล่านี้ใช้งานได้กับ Windows, ลินุกซ์ และ macOS.

มีการออกเวอร์ชันใหม่ของ C# และ .NET บ่อยแค่ไหน?

ตั้งแต่ .NET 5 ในปี 2020 เป็นต้นมา Microsoft .NET ได้ออกเวอร์ชันหลักของ .NET ทุกเดือนพฤศจิกายน และแต่ละเวอร์ชันก็จะมีเวอร์ชันภาษา C# ที่ตรงกันด้วย จังหวะการออกเวอร์ชันประจำปีที่คาดเดาได้นี้เข้ามาแทนที่ตารางเวลาที่ช้ากว่าและไม่สม่ำเสมอของยุค .NET Framework เดิม

การเผยแพร่มีขึ้นหลังจากการสนับสนุนสองครั้ง tracks:

  • การสนับสนุนระยะยาว (LTS): เวอร์ชันเลขคู่ เช่น .NET 8 และ .NET 10 จะได้รับการอัปเดตแก้ไขข้อบกพร่องเป็นเวลาสามปี และแนะนำให้ใช้ในระบบการผลิต
  • ค่าเลี้ยงดูตามสัญญามาตรฐาน (STS): ระบบปฏิบัติการเวอร์ชันเลขคี่ เช่น .NET 9 จะได้รับการสนับสนุนเป็นเวลาสิบแปดเดือน และเหมาะอย่างยิ่งสำหรับการนำคุณสมบัติใหม่ล่าสุดมาใช้ก่อนใคร

.NET Framework ไม่ได้ใช้จังหวะการอัปเดตแบบนั้นเลย มันหยุดอยู่ที่เวอร์ชัน 4.8.1 และคงที่อยู่แบบนั้น ดังนั้นการอัปเดตเวอร์ชันจึงใช้ได้เฉพาะกับ .NET รุ่นใหม่และเวอร์ชัน C# เท่านั้น

คำถามที่พบบ่อย

C# 14 เป็นเวอร์ชันล่าสุดที่เปิดตัวเมื่อวันที่ 11 พฤศจิกายน 2025 พร้อมกับ .NET 10 โดยได้เพิ่มสมาชิกส่วนขยาย คำหลักฟิลด์ การกำหนดค่าแบบมีเงื่อนไขสำหรับค่าว่าง และการแปลงสแปนโดยปริยาย เนื่องจาก .NET 10 เป็นเวอร์ชันที่ได้รับการสนับสนุนระยะยาว C# 14 จึงเป็นตัวเลือกที่เสถียรสำหรับโครงการใหม่ๆ

ใช่. NET Framework ที่ 4.8.1 ยังคงได้รับการสนับสนุนต่อไป Windows เป็นส่วนประกอบของระบบปฏิบัติการและได้รับการแก้ไขด้านความปลอดภัยและความน่าเชื่อถือ อย่างไรก็ตาม Microsoft ไม่ได้เพิ่มฟีเจอร์ใหม่ใดๆ ดังนั้นการพัฒนาส่วนใหญ่จึงมุ่งเป้าไปที่ .NET รุ่นใหม่แทนที่จะเป็น Framework

สำหรับโครงการใหม่ใดๆ ควรเลือกใช้ .NET รุ่นใหม่ ซึ่งปัจจุบันคือ .NET 10 เนื่องจากใช้งานได้บนหลายแพลตฟอร์ม ทำงานได้เร็วขึ้น เป็นโอเพนซอร์ส และมีการพัฒนาอย่างต่อเนื่อง ส่วน .NET Framework นั้นควรสงวนไว้สำหรับการบำรุงรักษาโครงการที่มีอยู่แล้ว Windows-เฉพาะแอปพลิเคชันที่ต้องพึ่งพาไลบรารีที่แพลตฟอร์มรุ่นใหม่ไม่รองรับเท่านั้น

ซอฟต์แวร์เวอร์ชันที่ได้รับการสนับสนุนระยะยาว (LTS) เช่น .NET 8 และ .NET 10 จะได้รับการอัปเดตแก้ไขข้อบกพร่องเป็นเวลาสามปี ส่วนซอฟต์แวร์เวอร์ชันที่ได้รับการสนับสนุนมาตรฐาน (STS) เช่น .NET 9 จะได้รับการอัปเดตแก้ไขข้อบกพร่องเป็นเวลาสิบแปดเดือน Microsoft มีการปล่อยเวอร์ชัน .NET หลักหนึ่งเวอร์ชันในเดือนพฤศจิกายนของทุกปี โดยสลับกันระหว่างสองเวอร์ชัน

Microsoft .NET 5 ตัดคำว่า Core ออกในปี 2020 เพื่อบ่งบอกถึงแพลตฟอร์มที่เป็นหนึ่งเดียว เวอร์ชันข้ามจาก 3.1 ไปเป็น 5 เลยping 4 เพื่อหลีกเลี่ยงความสับสนกับ .NET Framework 4.x ตั้งแต่นั้นมา ผลิตภัณฑ์นี้จึงถูกเรียกว่า .NET เฉยๆ

Visual Studio 2022 รองรับ .NET Framework เวอร์ชันเต็มจนถึง 4.8.1 และ .NET รุ่นใหม่ๆ ทุกเวอร์ชันจนถึง .NET 10 ที่ใช้ C# 14 ส่วนรุ่นเก่ากว่า เช่น Visual Studio 2019 รองรับได้สูงสุดแค่ C# 8 และเวอร์ชันเฟรมเวิร์กก่อนหน้าเท่านั้น

ใช่แล้ว ML.NET ฝึกฝนและรันโมเดลโดยตรงในภาษา C# และ ONNX Runtime จะประมวลผลโมเดลการเรียนรู้เชิงลึกที่ได้รับการฝึกฝนล่วงหน้าแล้ว Microsoftไลบรารี .Extensions.AI เชื่อมต่อแอปพลิเคชัน .NET กับโมเดลภาษาขนาดใหญ่ ช่วยให้คุณสามารถเพิ่มคุณสมบัติอัจฉริยะได้โดยไม่ต้องออกจากระบบนิเวศ

ใช่แล้ว GitHub Copilot แนะนำให้เขียนโค้ด C# ภายใน Visual Studio และ VS Code และสามารถช่วยในการอัปเกรดโปรเจ็กต์ระหว่างเวอร์ชัน .NET ได้ ควรพิจารณาผลลัพธ์ที่ได้เป็นเพียงร่างแรกและตรวจสอบอีกครั้ง เนื่องจากโค้ดที่สร้างขึ้นอาจขาด API เฉพาะเวอร์ชันหรือกรณีพิเศษบางอย่าง

สรุปโพสต์นี้ด้วย: