Chỉ thị tiền xử lý trong C#

0
609

Các chỉ thị tiền xử lý đưa ra hướng dẫn để trình biên dịch xử lý các thông tin trước khi biên dịch thực sự bắt đầu.

Tất cả các chỉ thị tiền xử lý bắt đầu với #, và có khoảng trắng trước khi xuất hiện một chỉ thị tiền xử lý trên một dòng. Chỉ thị tiền xử lý là không câu lệnh, vì vậy nó không kết thúc bằng dấu chấm phẩy.

Biên dịch C # không có một tiền xử lý riêng biệt. Trong C # các chỉ thị tiền xử lý được sử dụng để giúp đỡ trong việc lập điều kiện. Không giống như chỉ thị trong C và C ++, chúng không được sử dụng để tạo các chuỗi lệnh. Một chỉ thị tiền xử lý  chỉ ghi trên một dòng.

Chỉ thị tiền xử lý trong C #

Bảng sau đây liệt kê các chỉ thị tiền xử lý có sẵn trong C #:

Chỉ thị tiền xử lý Mô tả
#define Nó định nghĩa một chuỗi ký tự, gọi là biểu tượng.
#undef Nó cho phép bạn hủy định nghĩa một biểu tượng.
#if Nó cho phép thử nghiệm một hoặc nhiều biểu tượng để xem chúng có giá trị đúng hay không.
#else Nó cho phép tạo ra một chỉ thị có điều kiện phù hợp với # if.
#elif Nó cho phép tạo ra một chỉ thị có điều kiện hợp lý.
#endif Chỉ định cuối của một chỉ thị có điều kiện.
#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) các tên tập tin đầu ra cho các lỗi và cảnh báo.
#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.
#warning Nó cho phép tạo ra một mức độ một cảnh báo từ một vị trí cụ thể trong mã của bạn.
#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.
#endregion Nó đánh dấu sự kết thúc của một khối #region.

Tiền tố #define

Chỉ thị #define tạo ra các hằng số tượng trưng. Cú pháp của nó là 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 da duoc dinh nghia");
         #else
            Console.WriteLine("PI chua duoc dinh nghia");
         #endif
         Console.ReadKey();
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

PI da duoc dinh nghia

Chỉ thị có điều kiện

Bạn có thể sử dụng chỉ thị # if để tạo ra một chỉ thị có điều kiện. Chỉ có điều kiện rất có ích cho việc kiểm tra một hoặc nhiều biểu tượng xem chúng có giá trị đúng không. Nếu chúng có giá trị đúng, trình biên dịch sẽ đánh giá tất cả các mã giữa #ìf và chỉ thị tiếp theo.

Cú pháp cho thị có điều kiện là:

#if symbol [operator symbol]...

Trường hợp, biểu tượng là tên của các biểu tượng bạn muốn kiểm tra. Bạn có thể sử dụng true và false hoặc thêm vào trước các biểu tượng toán tử phủ định.

  • == (bằng nhau)
  • != (ko bằng)
  • && (và)
  • || (hoặc)

Bạn cũng có thể gộp nhóm các biểu tượng và khai thác dấu ngoặc đơn. Chỉ có điều kiện được sử dụng để biên dịch mã cho một debug build 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 #if, nếu muốn rõ ràng thì với một chỉ thị #endif.

Các chương trình sau minh họa sử dụng các chỉ thị 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 da duoc dinh nghia");
      #elif (!DEBUG && VC_V10)
         Console.WriteLine("VC_V10 da duoc dinh ngia");
      #elif (DEBUG && VC_V10)
         Console.WriteLine("DEBUG va VC_V10 da duoc dinh nghia");
      #else
         Console.WriteLine("DEBUG va VC_V10 chua duoc dinh nghia");
      #endif
      Console.ReadKey();
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

DEBUG va VC_V10 da duoc dinh nghia

Chúc bạn thành công!

This site uses Akismet to reduce spam. Learn how your comment data is processed.