C# là ngôn ngữ hướng đối tượng, type-safe, đa năng, tập trung vào năng suất lập trình viên thông qua sự biểu đạt, đơn giản và hiệu năng. Chạy đa nền tảng: Windows, Mac, Linux.
Type-Safety (An toàn kiểu)
C# là ngôn ngữ tĩnh (statically typed). Kiểu được kiểm tra tại compile-time. Loại bỏ nhiều lỗi trước khi chương trình chạy.
Garbage Collection (Thu gom rác)
Quản lý bộ nhớ tự động là tính năng cốt lõi. Garbage collector chạy cùng chương trình, thu hồi bộ nhớ không dùng. Giải phóng gánh bộ việc giải phóng bộ nhớ thủ công.
Hệ sinh thái .NET hỗ trợ C# qua Common Language Runtime (CLR) và Base Class Library (BCL). Cũng bao gồm application layer cung cấp thư viện xây dựng desktop, mobile, web.

Common Language Runtime (CLR)
"Common" nghĩa là runtime dùng chung cho các ngôn ngữ .NET: C#, Visual Basic, F#, managed C++. CLR cung cấp garbage collection và exception handling.
C# compiler biên dịch code thành Intermediate Language (IL), tương tự bytecode Java. CLR chuyển IL thành native code (x64, x86) ngay trước khi thực thi → Just-In-Time (JIT) compilation.
Container chứa IL gọi là Assembly. Chứa thông tin kiểu và IL code. Cho phép assembly tham chiếu assembly khác. C# có thể truy vấn metadata bằng reflection.
Base Class Library (BCL)
Tập assembly đi kèm CLR. Cung cấp chức năng thiết yếu cho hầu hết chương trình: I/O, xử lý file/text, networking, v.v.
Cũng bao gồm kiểu ngôn ngữ cần: collections, LINQ, async programming, và truy cập tính năng CLR như GC, reflection.