Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

C# และ .NET Framework: ความสัมพันธ์และความแตกต่าง

หลายคนสับสนระหว่าง C# (ภาษาโปรแกรม) และ .NET Framework (เฟรมเวิร์ก) จริงๆ แล้วเป็นสิ่งที่ต่างกันแต่เกี่ยวข้องกันอย่างใกล้ชิด

C# คืออะไร?

  • ภาษาโปรแกรมมิ่ง (Programming Language)
  • พัฒนาโดย Microsoft นำโดย Anders Hejlsberg
  • รันบน .NET Runtime (CLR)
  • มีฟีเจอร์: OOP, Generics, LINQ, Async/Await, Pattern Matching, Records, etc.

.NET Framework / .NET (Core/5+) คืออะไร?

  • Software Framework / Platform
  • ประกอบด้วย:
    • CLR (Common Language Runtime) - Virtual Machine รันโค้ด IL
    • BCL (Base Class Library) - ไลบรารีมาตรฐาน (Collections, IO, Network, etc.)
    • Language Compilers - C#, VB.NET, F#
  • รองรับหลายภาษา: C#, VB.NET, F#, และอื่นๆ

ความสัมพันธ์

C# Source Code → Compiler (csc/roslyn) → IL Code → CLR (JIT) → Machine Code

C# เป็น หนึ่งในภาษา ที่รันบน .NET .NET คือ Platform ที่ให้บริการ Runtime และ Library

ฟีเจอร์หลักของ C# (บน .NET)

  • Boolean Conditions
  • Automatic Garbage Collection (โดย CLR)
  • Standard Library (BCL)
  • Assembly Versioning
  • Properties และ Events
  • Delegates และ Events Management
  • Generics, LINQ, Async/Await

.NET Framework vs .NET Core vs .NET 5+

เวอร์ชันลักษณะPlatform
.NET Framework 4.xLegacy, Windows-onlyWindows
.NET Core 1.x - 3.1Cross-platform, Open SourceWindows, Linux, macOS
.NET 5, 6, 7, 8+Unified Platform, LTS (ทุก 2 ปี)Windows, Linux, macOS, Mobile, WebAssembly

สรุป: C# = ภาษา | .NET = แพลตฟอร์ม/รันไทม์/ไลบรารี | CLR = เอนจิ้นรันไทม์