C# (phát âm "C Sharp") là ngôn ngữ lập trình hiện đại, đa mục đích, hướng đối tượng, được Microsoft phát triển và chuẩn hóa bởi ECMA (ECMA-334) và ISO (ISO/IEC 23270).
C# được thiết kế cho Common Language Infrastructure (CLI) — bao gồm mã thực thi (IL) và môi trường chạy (CLR), cho phép các ngôn ngữ bậc cao khác nhau chạy trên nhiều nền tảng, kiến trúc máy tính.
Ưu điểm chính của C#
| Ưu điểm | Mô tả |
|---|---|
| Hướng đối tượng (Object-Oriented) | Hỗ trợ đầy đủ: encapsulation, inheritance, polymorphism, interface, abstract class. |
| Thu gom rác tự động (Garbage Collection) | GC quản lý bộ nhớ tự động, giảm memory leak, không cần free/delete thủ công. |
| Cross-platform (Đa nền tảng) | .NET Core / .NET 5+ chạy trên Windows, Linux, macOS, ARM, x64. |
| Tương thích ngược (Backward Compatibility) | Mã cũ .NET Framework thường chạy được trên .NET mới với ít thay đổi. |
| Toàn vẹn & Tương tác (Integrity & Interoperability) | Type safety, versioning, P/Invoke, COM interop, gọi code C/C++, Python, JS. |
| Hệ sinh thái phong phú | NuGet (300k+ packages), ASP.NET Core, Entity Framework, Blazor, MAUI, Unity, ML.NET. |
| Công cụ tốt | Visual Studio, VS Code, Rider, dotnet CLI, hot reload, analyzer, refactoring. |
| Async/Await đầu tư sớm | Từ .NET 4.5 (2012) — lập trình bất đồng bộ dễ dàng, tránh callback hell. |
| Pattern Matching, Records, Primary Constructors | Các tính năng hiện đại (C# 7-12) giảm boilerplate, code an toàn hơn. |
Ứng dụng điển hình
- Game: Unity (C# scripting), Godot (C# support), MonoGame, Stride.
- Web Backend: ASP.NET Core Web API, Minimal API, gRPC, GraphQL (HotChocolate).
- Web Frontend: Blazor (WebAssembly/Server), Razor Pages, MVC.
- Desktop: WPF, WinForms, WinUI 3, MAUI (cross-platform), Avalonia.
- Mobile: .NET MAUI (iOS, Android, macOS, Windows từ 1 codebase), Xamarin (legacy).
- Cloud & Microservices: Azure Functions, AWS Lambda, Kubernetes, Dapr, Orleans.
- IoT / Embedded: .NET nanoFramework, Meadow, Raspberry Pi.
- AI/ML: ML.NET, ONNX Runtime, TensorFlow.NET, PyTorch interop.
- Data Engineering: Apache Spark (.NET for Spark), Kafka, FluentMigrator.
Phiên bản mới nhất
.NET 8 (LTS, Nov 2023) + C# 12: Primary constructors, collection expressions, alias any type, inline arrays, experimental attributes...