Danh mục

Các Chủ Đề Tiến Bộ Trong C# part 5

Số trang: 3      Loại file: pdf      Dung lượng: 136.24 KB      Lượt xem: 15      Lượt tải: 0    
Jamona

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (3 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Các chỉ thị tiền xử lí trong C# Bên cạnh các từ khoá thường dùng, C# có 1 số lệnh tiền xử lí .những lệnh này không bao giờ được biên dịch thành bất kì dòng lệnh nào trong mã thực thi. thay vào đó nó có ảnh hưởng đến các khía cạnh của quy trình biên dịch.
Nội dung trích xuất từ tài liệu:
Các Chủ Đề Tiến Bộ Trong C# part 5Các chỉ thị tiền xử lí trong C#Bên cạnh các từ khoá thường dùng, C# có 1 số lệnh tiền xử lí .những lệnh này không baogiờ được biên dịch thành bất kì dòng lệnh nào trong mã thực thi. thay vào đó nó có ảnhhưởng đến các khía cạnh của quy trình biên dịch. ví dụ , ta có thể dùng chỉ dẫn tiền xử líđể ngăn trình biên dịch biên dịch một phần đoạn mã nào đó .Chỉ thị tiền xử lí được phân biệt bằng cách bắt đầu với dấu # .#define và #undef#define được dùng ví dụ như :#define DEBUGCho trình biên dịch biết biểu tượng với tên được đặt ( DEBUG) tồn tại. nó hơi giống nhưkhai báo biến nhưng nó không có giá trị - mà chỉ tồn tại.Trái ngược với #define là #undef : bỏ định nghĩa biểu tượng : #undef DEBUGTa cần đặt các chỉ thị #define và #undef vào đầu tập tin nguồn trước bất kì khai báo đốitượng được biên dịch.lưu ý : các chỉ thị tiền xử lí không có dấu ; ở cuối câu lệnh thường thì các lệnh chỉ trên1 dòng . nếu nó thấy 1 chỉ thị tiền xử lí, nó xem lệnh kết tiếp sẽ nằm ở dòng kế tiếp.#if,#elif,#else,#endifcác chỉ thị này thông báo cho trình biên dịch biết liệu có biên dịch đoạn mã hay không, vídụ :int DoSomeWork(double x) { // do something #if DEBUG Console.WriteLine(x is + x); #endif }Dòng lệnh Console.Writeline chỉ được thực hiện khi DEBUG được định nghĩa.( bằng chỉthị #define). khi thấy #if nó kiểm tra xem biểu tượng có tồn tại hay không nếu có thì biêndịch đoạn mã bên trong ngược lại bỏ qua đoạn mã bên trong giữa #if và #endif. ta dùngcách này khi muốn vá lỗi, mà lỗi liên quan đến đoạn mã trong #if ,khi muốn đoạn mã nàychạy ta định nghĩa DEBUG, khi muốn nó không chạy ta #undef DEBUG,kích cỡ cũa tậptin thực thi sẽ nhỏ hơn.Các chỉ thị #elif (= else if ) và # else được dùng trong khối #if .và có thể lồng khối #if#define ENTERPRISE#define W2K// further on in the file#if ENTERPRISE // do something #if W2K // some code that is only relevant to enterprise // edition running on W2K #endif#elif PROFESSIONAL // do something else#else // code for the leaner version#endif#if và #elif cũng hổ trợ 1 số tác tử luận lý , dùng !,==,!=,||. 1 biểu tượng là true nếu nó tồntại và ngược lại là false. ví dụ :#if W2K && (ENTERPRISE==false) // nếu W2K đưọc định nghĩa còn ENTERPRISEthì không#warning và #errorNếu trình biên dịch thấy #warning nó sẽ trình bày chuỗi xuất iện phía sau nó đến ngườidùng,sau đó biên dịch tiếp. nếu thấy chỉ thi #error ,nó sẽ trình bày chuỗi con đến ngườidùng nếu đó là 1 thông báo lỗi biên dịch , sau đó ngừng biên dịch#if DEBUG && RELEASE#error Youve defined DEBUG and RELEASE simultaneously! #endif#warning Dont forget to remove this line before the boss tests the code! Console.WriteLine(*I hate this job*);#region và #endregionCác chỉ thị #region và #endregion đưọc dùng để đánh dấu khối mã được xem như là khốiđơn với tên được đặt như :#region Member Field Declarationsint x;double d;Currency balance;#endregionchỉ thị này không có ảnh hưởng nào đến trình biên dịch nhưng nó hữu ích cho 1 số trìnhbiên tập bao gồm cả trình biên tập của VS.NET. trình biên tập có thể dùng chỉ thị naỳ đểgói gọn mã của ta trên màn hình.# linechỉ thị #line có thể được dùng thay cho tên tập tin và thông tin số dòng mà xuất bởi trìnhbiên dịch trong các thông báo cảnh báo hay lỗi .nó thường dùng khi bạn viết mã kết hợpvới 1 số gói khác mà sau đó sẽ thay đoạn mã bạn gõ vào trước khi biên dịch ,trình biêndịch sẽ thông báo số dòng và tên tập tin không phù hợp với số dòng trong tập tin mà bạnđang chỉnh sửa .chỉ thị #line có thể được dùng để lưu sự phù hợp. ta cũng có thể dùng cúpháp #line default để lưu dòng thành số dòng mặc định :#line 164 Core.cs // we happen to know this is line 164 in the file// Core.cs, before the intermediate// package mangles it.// later on#line default // restores default line numbering

Tài liệu được xem nhiều: