Các chỉ thị tiền xử lý cung cấp hướng dẫn cho trình biên dịch để xử lý trước thông tin trước khi quá trình biên dịch thực sự bắt đầu.
Tất cả các chỉ thị tiền xử lý bắt đầu bằng # và chỉ các ký tự khoảng trắng mới có thể xuất hiện trước một chỉ thị tiền xử lý trên một dòng. Các chỉ thị tiền xử lý không phải là các câu lệnh, vì vậy chúng không kết thúc bằng dấu chấm phẩy (;).
Trình biên dịch C # không có bộ tiền xử lý riêng biệt; tuy nhiên, các chỉ thị được xử lý như thể có một. Trong C #, các chỉ thị tiền xử lý được sử dụng để trợ giúp trong quá trình biên dịch có điều kiện. Không giống như các chỉ thị C và C ++, chúng không được sử dụng để tạo macro. Chỉ thị tiền xử lý phải là lệnh duy nhất trên một dòng.
Chỉ thị tiền xử lý trong C #
Bảng sau liệt kê các chỉ thị tiền xử lý có sẵn trong C # –
| Sr.No. | Chỉ thị & Mô tả về Nhà tiền xử lý |
|---|---|
| 1 | #định nghĩa Nó xác định một chuỗi các ký tự, được gọi là ký hiệu. |
| 2 | #undef Nó cho phép bạn hủy xác định một biểu tượng. |
| 3 | #nếu Nó cho phép kiểm tra một biểu tượng hoặc các biểu tượng để xem liệu chúng có đánh giá đúng hay không. |
| 4 | #khác Nó cho phép tạo một chỉ thị có điều kiện phức hợp, cùng với #if. |
| 5 | #elif Nó cho phép tạo một chỉ thị có điều kiện phức hợp. |
| 6 | #endif Chỉ định phần cuối của một chỉ thị có điều kiện. |
| 7 | #hàng Nó cho phép bạn sửa đổi số dòng của trình biên dịch và (tùy chọn) đầu ra tên tệp cho các lỗi và cảnh báo. |
| số 8 | #lỗi Nó cho phép tạo ra một lỗi từ một vị trí cụ thể trong mã của bạn. |
| 9 | #cảnh báo Nó cho phép tạo cảnh báo cấp một từ một vị trí cụ thể trong mã của bạn. |
| 10 | #vùng đất Nó cho phép bạn chỉ định một khối mã mà bạn có thể mở rộng hoặc thu gọn khi sử dụng tính năng phác thảo của Visual Studio Code Editor. |
| 11 | #endregion Nó đánh dấu sự kết thúc của khối # khu vực. |
#Define Preprocessor
Chỉ thị tiền xử lý #define tạo các hằng số tượng trưng.
#define cho phép bạn xác định một ký hiệu sao cho bằng cách sử dụng ký hiệu làm biểu thức được truyền cho chỉ thị #if, biểu thức sẽ đánh giá là true. Cú pháp của nó như sau:
#define symbol
Chương trình sau đây minh họa điều này –
#define PI
using System;
namespace PreprocessorDAppl {
class Program {
static void Main(string[] args) {
#if (PI)
Console.WriteLine("PI is defined");
#else
Console.WriteLine("PI is not defined");
#endif
Console.ReadKey();
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
PI is defined
Chỉ thị có điều kiện
Bạn có thể sử dụng chỉ thị #if để tạo một chỉ thị có điều kiện. Các chỉ thị có điều kiện rất hữu ích để kiểm tra một ký hiệu hoặc các ký hiệu để kiểm tra xem chúng có đánh giá là đúng hay không. Nếu chúng đánh giá là true, trình biên dịch sẽ đánh giá tất cả mã giữa #if và chỉ thị tiếp theo.
Cú pháp cho chỉ thị có điều kiện là –
#if symbol [operator symbol]...
Ở đâu, Biểu tượng là tên của biểu tượng bạn muốn kiểm tra. Bạn cũng có thể sử dụng true và false hoặc thêm vào trước ký hiệu bằng toán tử phủ định.
Các ký hiệu toán tử là toán tử được sử dụng để đánh giá ký hiệu. Các nhà khai thác có thể là một trong những người sau:
- == (bình đẳng)
- ! = (bất bình đẳng)
- && (và)
- || (hoặc)
Bạn cũng có thể nhóm các ký hiệu và toán tử với dấu ngoặc đơn. Các chỉ thị có điều kiện được sử dụng để biên dịch mã cho một bản dựng gỡ lỗi hoặc khi biên dịch cho một cấu hình cụ thể. Một chỉ thị có điều kiện bắt đầu bằng #nếu chỉ thị phải được chấm dứt một cách rõ ràng bằng một #endif chỉ thị.
Chương trình sau đây trình bày việc sử dụng các lệnh có điều kiện:
#define DEBUG
#define VC_V10
using System;
public class TestClass {
public static void Main() {
#if (DEBUG && !VC_V10)
Console.WriteLine("DEBUG is defined");
#elif (!DEBUG && VC_V10)
Console.WriteLine("VC_V10 is defined");
#elif (DEBUG && VC_V10)
Console.WriteLine("DEBUG and VC_V10 are defined");
#else
Console.WriteLine("DEBUG and VC_V10 are not defined");
#endif
Console.ReadKey();
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
DEBUG and VC_V10 are defined
