CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 43

43

Chương 1: Phát triển ứng dụng

// Khai báo chuỗi chứa tên của nền.

string platformName;

#if winXP // Biên dịch cho Windows XP

platformName = "Microsoft Windows XP";

#elif win2000 // Biên dịch cho Windows 2000

platformName = "Microsoft Windows 2000";

#elif winNT // Biên dịch cho Windows NT

platformName = "Microsoft Windows NT";

#elif win98 // Biên dịch cho Windows 98

platformName = "Microsoft Windows 98";

#else // Nền không được nhận biết

platformName = "Unknown";

#endif

Console.WriteLine(platformName);

}

}

Để xây dựng lớp

ConditionalExample

(chứa trong file ConditionalExample.cs) và định nghĩa

các ký hiệu

winXP

DEBUG

(không được sử dụng trong ví dụ này), sử dụng lệnh:

csc /define:winXP;DEBUG ConditionalExample.cs

Cấu trúc

#if .. #endif

đánh giá các mệnh đề

#if

#elif

chỉ đến khi tìm thấy một mệnh đề

đúng, nghĩa là nếu có nhiều ký hiệu được định nghĩa (chẳng hạn,

winXP

win2000

), thứ tự

các mệnh đề là quan trọng. Trình biên dịch chỉ biên dịch đoạn mã nằm trong mệnh đề đúng.
Nếu không có mệnh đề nào đúng, trình biên dịch sẽ biên dịch đoạn mã nằm trong mệnh đề

#else

.

Bạn cũng có thể sử dụng các toán tử luận lý để biên dịch có điều kiện dựa trên nhiều ký hiệu.
Bảng 1.1 tóm tắt các toán tử được hỗ trợ.

Bảng 1.1 Các toán tử luận lý được hỗ trợ bởi chỉ thị #if .. #endif

Toán tử

Ví dụ

Mô tả

==

#if winXP == true

Bằng. Đúng nếu

winXP

được định nghĩa. Tương

đương với

#if winXP

.

!=

#if winXP != true

Không bằng. Đúng nếu

winXP

không được định

nghĩa. Tương đương với

#if !winXP

.

&&

#if winXP && release

Phép AND luận lý. Đúng nếu

winXP

release

được

định nghĩa.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.