-
[Thread trong c#] Một thread được định nghĩa như là một đường thực thi (execution path) của một chương trình. Mỗi Thread định nghĩa một dòng điều khiển duy nhất. Nếu application của bạn gồm các hoạt động phức tạp và tốn thời gian, thì nó thường là rất hữu ích khi thiết lập các execution path hoặc Thread, với mỗi Thread thực hiện một công việc cụ thể.
-
C# cho phép sử dụng các biến con trỏ trong một hàm của khối code khi nó được đánh dấu bởi unsafe modifier. Khái niệm unsafe code hoặc unmanaged code trong C# là một khối code mà sử dụng một biến con trỏ.
-
Chúng ta đã bàn luận rằng Delegate được sử dụng để tham chiếu bất kỳ phương thức nào mà có cùng dấu hiệu như trong Delegate đó. Nói cách khác, bạn có thể gọi một phương thức mà có thể được tham chiếu bởi một Delegate bởi sử dụng đối tượng Delegate đó.
-
Generic trong C# cho phép bạn trì hoãn các đặc điểm kỹ thuật (Specification) của kiểu dữ liệu của việc lập trình các phần tử trong một lớp hoặc một phương thức, tới khi nó thực sự được sử dụng trong chương trình. Nói cách khác, Generic cho phép bạn viết một lớp hoặc phương thức mà có thể làm việc với bất kỳ kiểu dữ liệu nào.
-
Các lớp Collection là các lớp đặc biệt để lưu giữ và thu hồi dữ liệu. Những lớp này cung cấp sự hỗ trợ cho Stack, Queue, List, và Hash Table. Đa số các lớp Collection trong C# triển khai cùng các Interface.
-
Sự kiện (Event) là các hành động của người dùng, ví dụ như nhấn phím, click, di chuyển chuột… Các Application cần phản hồi các sự kiện này khi chúng xuất hiện. Ví dụ, các ngắt (interrupt). Các sự kiện (Event) được sử dụng để giao tiếp bên trong tiến trình.
-
Indexer trong C# giúp lập chỉ mục cho đối tượng, ví dụ như một mảng. Khi bạn định nghĩa indexer cho một lớp, thì lớp này vận hành tương tự như một virtual array (mảng ảo). Sau đó, bạn có thể truy cập instance (sự thể hiện) của lớp này nhờ toán tử truy cập mảng trong C# là ([ ]).
-
Các đối tượng Reflection được sử dụng để thu được thông tin kiểu tại runtime. Các lớp này cung cấp quyền truy cập tới metadata của chương trình đang chạy trong namespace System.Reflection trong C#.
-
Thuộc tính (attribute) trong C#, là một thẻ khai báo, được sử dụng để truyền thông tin tới runtime về các hành vi của các phần tử khác nhau như các lớp, phương thức, cấu trúc, enum, assembly… trong chương trình của bạn. Bạn có thể thêm thông tin khai báo vào chương trình bằng cách sử dụng Attribute.
-
Một file là một tập hợp dữ liệu được lưu trữ trên ổ đĩa với một tên cụ thể và một đường dẫn (path) thư mục. Khi một file được mở để đọc hoặc ghi, nó trở thành một stream.
-
Một Exception (ngoại lệ) là một vấn đề xuất hiện trong khi thực thi một chương trình. Một Exception trong C# là một phản hồi về một tình huống ngoại lệ mà xuất hiện trong khi một chương trình đang chạy, ví dụ như chia cho số 0.
-
Một regular expression là một pattern mà có thể được so khớp với một văn bản đầu vào. .Net Framework cung cấp một phương tiện regular expression mà cho phép so khớp với như thế. Trong C#, một pattern gồm một hoặc nhiều hằng ký tự, toán tử, hoặc construct.
-
Các chỉ thị tiền xử lý (Preprocessor Directive) cung cấp chỉ lệnh tới trình biên dịch để tiền xử lý thông tin trước khi quá trình biên dịch thực sự bắt đầu. Tất cả chỉ thị tiền xử lý trong C# bắt đầu với #, và chỉ có các ký tự white-space có thể xuất hiện ở trước một chỉ thị tiền xử lý trong một dòng. Các chỉ thị tiền xử lý trong C# không là các lệnh, vì thế chúng không kết thúc với một dấu chấm phảy (;).
-
Trong C#, namespace được thiết kế để giữ một tập hợp các tên được phân biệt riêng rẽ nhau. Các tên lớp giống nhau nhưng được khai báo ở các namespace khác nhau thì không xung đột với nhau
-
Một Interface được định nghĩa như là một giao ước có tính chất cú pháp (syntactical contract) mà tất cả lớp kế thừa Interface đó nên theo. Interface định nghĩa phần "Là gì" của giao ước và các lớp kế thừa định nghĩa phần "Cách nào" của giao ước đó.
-
Operator Overloading là Nạp chồng toán tử. Bạn có thể tái định nghĩa hoặc nạp chồng hầu hết các toán tử có sẵn trong C#.
-
Tính đa hình trong C# có thể là static hoặc dynamic. Trong đó, kiểu đa hình static có thể được gọi là đa hình tĩnh, phản hồi tới một hàm được xác định tại thời điểm biên dịch và kiểu đa hình dynamic có thể được gọi là đa hình động, được xác định trong thời gian chạy.