2011-08-30 8 views
86

मैं vb कोड में लाइन है:#if सी # में डीबग नहीं है?

#if Not Debug 

जो मैं परिवर्तित करना होगा, और मैं सी # में यह दिखाई नहीं देता?

क्या इसके बराबर कुछ है, या क्या कुछ कामकाज है?

उत्तर

156

आप का उपयोग करने की आवश्यकता होगी:

#if !DEBUG 
    // Your code here 
#endif 

या, यदि आपका प्रतीक documentation से वास्तव में Debug

#if !Debug 
    // Your code here 
#endif 

है, तो आप एक बूलियन के रूप में प्रभावी ढंग से DEBUG का इलाज कर सकते हैं। तो अगर आप की तरह जटिल परीक्षण कर सकते हैं:

#if !DEBUG || (DEBUG && SOMETHING) 
5

मुझे लगता है कि कुछ की तरह काम करेगा

#if (DEBUG) 
//Something 
#else 
//Something 
#endif 
+4

बस कोष्टक ध्यान देने योग्य बात यह सशर्त '# बयान if' के लिए आवश्यक नहीं हैं। इसे लिखा जा सकता है '#if DEBUG' – atconway

12

जैसा कि आप यहाँ क्या हो रहा है के साथ परिचित हैं, #if एक पूर्व प्रसंस्करण अभिव्यक्ति है, और DEBUG एक सशर्त संकलन प्रतीक है। अधिक गहराई से स्पष्टीकरण के लिए Here's an MSDN article

डिफ़ॉल्ट रूप से, जब डीबग विन्यास में, दृश्य स्टूडियो की जाँच करेगा परियोजना के गुण बिल्ड के तहत परिभाषित डीबग निरंतर विकल्प। यह सी # और वीबी.नेट दोनों के लिए जाता है। यदि आप पागल होना चाहते हैं तो आप नई बिल्ड कॉन्फ़िगरेशन को परिभाषित कर सकते हैं और अपने स्वयं के सशर्त संकलन प्रतीकों को परिभाषित कर सकते हैं। सामान्य उदाहरण जब आप इसे देखते हैं:

#if DEBUG 
    //Write to the console 
#else 
    //write to a file 
#endif 
4

बस अगर यह किसी और की मदद करता है, तो मेरा जवाब यहां है।

यह सही काम करेगा नहीं:

#if !DEBUG 
    // My stuff here 
#endif 

लेकिन यह काम किया:

#if (DEBUG == false) 
    // My stuff here 
#endif 
+3

यह पोस्ट किया गया था, लेकिन कम से कम वीएस 2015 के लिए! DEBUG –

0
 bool isDebugMode = false; 
#if DEBUG 
    isDebugMode = true; 
#endif 
    if (isDebugMode == false) 
    { 
     enter code here 
    } 
    else 
    { 
     enter code here 
    } 
+2

के रूप में काम करता है यह एक बुरा जवाब है क्योंकि यह चलाने के लिए रन-टाइम तर्क का उपयोग करता है संकलन समय पर किया जाना चाहिए। – antiduh

+0

डिज़ाइन समय टी 4 टेम्पलेटिंग और इस तरह की चीज़ों को समय-समय पर इस तरह की चीज़ की आवश्यकता होगी। – StingyJack

संबंधित मुद्दे