C # - Chỉ thị tiền xử lý
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ý đều 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 để giúp 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. Lệnh 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ề Bộ tiền xử lý |
---|---|
1 | #define 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 | #if 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 | #else 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 | #line 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 | #error 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 | #warning 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 | #region 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 chuyển tới 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á đú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]...
Trong đó, 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.
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 là)
Bạn cũng có thể nhóm các ký hiệu và toán tử bằng dấu ngoặc đơn. Các chỉ thị có điều kiện được sử dụng để biên dịch mã cho bản dựng gỡ lỗi hoặc khi biên dịch cho một cấu hình cụ thể. Chỉ thị có điều kiện bắt đầu bằng#if 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 minh họa 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