Overview
Giới thiệu ngôn ngữ C#, cấu trúc chương trình, quá trình biên dịch và sự phát triển của ngôn ngữ
Types & Variables
Hệ thống kiểu trong C# — kiểu giá trị, kiểu tham chiếu, biến, hằng số, toán tử và ép kiểu
Strings
Thao tác chuỗi, nội suy chuỗi, tính bất biến, StringBuilder và các tính năng chuỗi hiện đại trong C#
Enums
Kiểu liệt kê (Enum), cờ (Flags), và các thực hành tốt nhất khi sử dụng enum trong C#
Control Flow
Câu lệnh điều kiện, biểu thức switch, vòng lặp và phép lặp trong C#
Methods
Khai báo phương thức, tham số, nạp chồng và các tính năng phương thức hiện đại trong C#
Structs & Records
Kiểu giá trị (Value Types), kiểu record, và khi nào nên sử dụng class vs struct vs record trong C#
Anonymous & Nullable Types
Kiểu vô danh (Anonymous Type), kiểu giá trị nullable (Nullable Value Type), kiểu tham chiếu nullable (Nullable Reference Type), và mẫu an toàn null (Null-Safety Pattern) trong C#
Tuples
System.Tuple, ValueTuple, phân rã (Deconstruction), mẫu tuple trong biểu thức switch, và khi nào nên sử dụng tuple trong C#
Indexers
Cú pháp bộ chỉ mục (Indexer), bộ chỉ mục đa chiều, nạp chồng, giao diện và các trường hợp sử dụng thực tế trong C#
Sealed Classes
Cách từ khóa sealed cải thiện hiệu suất runtime .NET thông qua hủy ảo hóa (devirtualization), ép kiểu nhanh hơn và giảm overhead
Collections
Mảng (Arrays), bộ sưu tập generic (Generic Collections), và khi nào nên sử dụng từng cấu trúc dữ liệu trong C#
Exceptions
try/catch/finally, ngoại lệ tùy chỉnh (Custom Exception), và các phương pháp hay nhất khi xử lý lỗi (Error Handling Best Practices) trong C#
Generics
Kiểu generic (Generic Types), phương thức generic (Generic Methods), ràng buộc (Constraints), và mã an toàn kiểu có thể tái sử dụng trong C#
Delegates & Events
Ủy quyền (Delegate), sự kiện (Event), biểu thức lambda (Lambda Expression), và mẫu quan sát (Observer Pattern) trong C#
Pattern Matching
Kiểu mẫu (Type Pattern), biểu thức switch (Switch Expression), mẫu thuộc tính (Property Pattern), và mẫu danh sách (List Pattern) trong C# hiện đại
Attributes & Reflection
Thuộc tính (Attribute) tích hợp sẵn và tùy chỉnh, phản chiếu (Reflection) cơ bản, liên kết muộn (Late Binding), cân nhắc hiệu suất và trình tạo mã nguồn (Source Generators) trong C#
LINQ
Truy vấn LINQ (Language Integrated Query), toán tử, thực thi trì hoãn (deferred execution) và các cân nhắc hiệu suất
Async/Await
Lập trình bất đồng bộ (Asynchronous Programming) trong C# với async/await, Task, cancellation token và channels
File I/O
Thao tác tệp và thư mục (File/Directory Operations), StreamReader/StreamWriter, lớp File/Directory, FileInfo/DirectoryInfo, thao tác tệp bất đồng bộ (Async File Operations), và xử lý đường dẫn (Path Handling) trong C#
Multithreading
Kiểu nền tảng về luồng (Thread), Mẫu đồng bộ dựa trên Task (TAP), nguyên thủy đồng bộ hóa (Synchronization Primitives), bộ sưu tập đồng thời (Concurrent Collections) và lập trình song song trong C#
Modern C#
Các tính năng ngôn ngữ mới từ C# 8 đến C# 13 — có gì mới và cách sử dụng
Best Practices
Quy ước mã hóa (Coding Conventions), hướng dẫn hiệu suất và các thực hành tốt nhất ASP.NET Core để viết mã C# sạch, hiệu quả
Interview Questions
58 câu hỏi phỏng vấn C# thiết yếu với câu trả lời chi tiết bao gồm nền tảng ngôn ngữ, collections, concurrency và các tính năng nâng cao