Tôi cần biết cách sử dụng #if trong C# ... Cảm ơn ..Việc sử dụng #if trong C# là gì?
Trả lời
#if
là một pre-processor command.
Nó sử dụng phổ biến nhất (mà một số có thể nói là một sự lạm dụng) là phải có mã mà chỉ biên dịch trong chế độ gỡ lỗi:
#if DEBUG
Console.WriteLine("Here");
#endif
Một sử dụng rất tốt (như StingyJack points out) là cho phép gỡ lỗi dễ dàng một dịch vụ Windows:
static void Main()
{
#if (!DEBUG)
System.ServiceProcess.ServiceBase[] ServicesToRun;
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
#else
// Debug code: this allows the process to run as a non-service.
// It will kick off the service start point, but never kill it.
// Shut down the debugger to exit
Service1 service = new Service1();
service.<Your Service's Primary Method Here>();
// Put a breakpoint on the following line to always catch
// your service when it has finished its work
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
#endif
}
này có nghĩa là chạy chế độ phát hành sẽ bắt đầu dịch vụ như mong đợi, w hile đang chạy trong chế độ gỡ lỗi sẽ cho phép bạn thực sự gỡ lỗi mã.
"Khi trình biên dịch C# gặp một chỉ thị #if, theo sau là chỉ thị #endif, nó sẽ biên dịch mã giữa các chỉ thị chỉ khi biểu tượng được chỉ định được xác định "
Đây là liên kết MSDN.
Nó được sử dụng cho Preprocessor Directives, xem tại đây http://msdn.microsoft.com/en-us/library/4y6tbswk(v=VS.71).aspx
#if
là một chỉ thị biên dịch, ví dụ bạn có thể #define test
và sau đó trong mã bạn có thể kiểm tra #ifdef test
khối mã biên dịch với #ifdef
#if (C# Reference) là một chỉ thị biên dịch. Xem bài viết MSDN để biết thêm thông tin.
#if
đã mất rất nhiều so với tổ tiên của nó - c hoặc C++. hiện nay tôi sử dụng #if
cho chỉ có hai kịch bản
1) sử dụng nó để kích hoạt tính năng mã cho gỡ lỗi hoặc không gỡ lỗi
#if DEBUG
// code inside this block will run in debug mode.
#endif
2) sử dụng nó để nhanh chóng tắt đang
#if false
// all the code inside here are turned off..
#endi
- 1. Việc sử dụng "??" là gì?
- 2. Có sự khác biệt nào trong C và C++ giữa việc sử dụng if, else if, else if, ... và sử dụng switch() {case A: ... case B: ...}?
- 3. Việc sử dụng Indexers là gì?
- 4. Việc sử dụng typedef là gì?
- 5. Việc sử dụng window.external là gì?
- 6. Việc sử dụng Deployment.Current.Dispatcher.BeginInvoke (() => {...}) là gì?
- 7. việc sử dụng wchar_t trong lập trình chung là gì?
- 8. Việc sử dụng LOCAL_MODULE_TAGS là gì?
- 9. Việc sử dụng udevadm là gì?
- 10. Việc sử dụng plist là gì?
- 11. Việc sử dụng "khoan dung" là gì?
- 12. Việc sử dụng singletonList là gì?
- 13. việc sử dụng string.Clone() là gì?
- 14. Việc sử dụng AtomicReferenceArray là gì?
- 15. Hình phạt hiệu suất của việc sử dụng isKindOfClass trong Mục tiêu C là gì?
- 16. Việc sử dụng chính xác của XmlNode.SelectSingleNode (xpath chuỗi) trong C# là gì?
- 17. Câu hỏi lập trình tốt để thực hiện việc sử dụng "if ... else" trong Python là gì?
- 18. Việc sử dụng Invoke() trong .net là gì?
- 19. Việc sử dụng HeaderedContentControl trong wpf là gì?
- 20. Việc sử dụng ". @" Trong tiếng groovy là gì?
- 21. Việc sử dụng giao diện IClonable trong .NET là gì?
- 22. Việc sử dụng thẻ túi trong Hibernate là gì?
- 23. Việc sử dụng biểu tượng @ trong PHP là gì?
- 24. Việc sử dụng Path = trong XAML là gì?
- 25. Việc sử dụng biến chia sẻ trong VB.NET là gì?
- 26. Việc sử dụng SYNONYM trong SQL Server 2008 là gì?
- 27. Việc sử dụng init() trong JavaScript là gì?
- 28. Việc sử dụng allowCoreThreadTimeout() trong ThreadPoolExecutor là gì?
- 29. Việc sử dụng MongoDB trong GrayLog2 là gì?
- 30. Việc sử dụng "biến thành" trong qt là gì?
sử dụng tốt nhất của # nếu tôi đã thấy .... http://www.codeproject.com/KB/dotnet/DebugWinServices.aspx – StingyJack
@StingyJack - Tôi đã sử dụng bản thân mình, nó là một cách sử dụng rất tốt. – ChrisF