Console
.WriteLine()
के बीच का अंतर बनाम Debug
.WriteLine()
क्या है?Console.WriteLine() बनाम Debug.WriteLine() के बीच क्या अंतर है?
उत्तर
Console.WriteLine डीबग या रिलीज में मानक आउटपुट स्ट्रीम को लिखता है। Debug.WriteLineListeners संग्रह में ट्रेस श्रोताओं को लिखता है, लेकिन केवल डीबग में चलते समय। जब एप्लिकेशन को रिलीज़ कॉन्फ़िगरेशन में संकलित किया जाता है, तो डीबग तत्व कोड में संकलित नहीं किए जाएंगे।
Debug.WriteLine
रूप Listeners संग्रह में सभी का पता लगाने श्रोताओं के लिए लिखते हैं, यह संभव है इस (विजुअल स्टूडियो उत्पादन खिड़की तीसरे पक्ष के आवेदन एक से अधिक जगह में उत्पादन, कंसोल, लॉग फ़ाइल है, जो एक श्रोता पंजीकृत करता है हो सकता है कि (मेरा मानना है कि DebugView यह करता है), आदि)।
Console.WriteLine()
कंसोल मोड प्रोग्राम के लिए है। विजुअल स्टूडियो होस्टिंग प्रक्रिया की एक अच्छी सुविधा विजुअल स्टूडियो आउटपुट विंडो में अपना आउटपुट दिखाई देती है जबकि कंसोल नहीं होने वाली प्रक्रियाओं के लिए डीबगिंग करते हैं। डीबगिंग करते समय यह बहुत उपयोगी है लेकिन सावधान रहें कि जब आप रिलीज बिल्ड बनाने के लिए तैयार हों तो आपको इस कोड को हटा देना चाहिए (या #ifdef DEBUG
के साथ इसे लपेटें)। यह अन्यथा आपके कार्यक्रम में अनावश्यक ओवरहेड जोड़ देगा। यह डीबग ट्रेसिंग के लिए आदर्श से कम बनाता है।
Debug.WriteLine()
यदि आप DEBUG
सशर्त # परिभाषित के साथ बनाते हैं तो ट्रेसिंग जानकारी उत्पन्न करता है। डीबग बिल्ड में डिफ़ॉल्ट रूप से कौन सा है। जहां आउटपुट समाप्त होता है, app.exe.config
फ़ाइल में कॉन्फ़िगर किया जा सकता है। यदि यह कॉन्फ़िगर ओवरराइड नहीं है, तो .NET स्वचालित रूप से DefaultTraceListener
कक्षा का उदाहरण प्रदान करता है। यह Debug.WriteLine()
पाठ को विंडोज OutputDebugString()
एपीआई फ़ंक्शन डीबगर पर भेजता है। विजुअल स्टूडियो डीबगर बनाता है जो आउटपुट विंडो में दिखाई देता है, जैसे कि Console.WriteLine()
।
Debug.WriteLine()
का एक स्पष्ट लाभ यह है कि यह रिलीज बिल्ड में कोई ओवरहेड उत्पन्न नहीं करता है, कॉल प्रभावी ढंग से हटा दिए जाते हैं। हालांकि यह समग्र स्वरूपण का समर्थन नहीं करता है, इसके लिए आपको String.Format()
की आवश्यकता होगी। डीबग ट्रेसिंग के लिए, डीबग क्लास आपकी पसंद होनी चाहिए।
यदि कंसोल का उपयोग करने का आपका उद्देश्य पूरी तरह से डिबगिंग के लिए है, तो आप बेहतर उपयोग Debug.WriteLine का उपयोग करते हैं।
यदि आप अपने उपयोगकर्ता को एक संदेश दिखाना चाहते हैं, तो आप Console.WriteLine का उपयोग करेंगे।
डीबग। राइटलाइन केवल आपके आवेदन को डीबग करने के उद्देश्य से है। रिलीज मोड में आपके डीबग स्टेटमेंट को अनदेखा कर दिया जाएगा।
कंसोल एप्लिकेशन का एक और उपयोग निजी असेंबली का परीक्षण करना है। डीएलएल के संकलित संस्करण का परीक्षण करने के लिए कुछ प्रकार के जीयूआई परीक्षण दोहन बनाने के पारंपरिक दृष्टिकोण की बजाय, आप कंसोल एप्लिकेशन के रूप में डीएलएल को फिर से बना सकते हैं और कंसोल से इनपुट/आउटपुट कर सकते हैं। मुझे यह तकनीक एक जीयूआई परीक्षण दोहन बनाने में समय बिताने से तेज होने के लिए मिली है।
"अगर आप अपने उपयोगकर्ता को एक संदेश दिखाना चाहते हैं, तो आप console.writeline का उपयोग करेंगे।"यह कुछ लोगों को भ्रमित कर सकता है क्योंकि यह कंसोल एप्लिकेशन में निष्पादित होने पर केवल उपयोगकर्ता को कुछ दिखाएगा। –
- 1. () बनाम [] बनाम {} के बीच क्या अंतर है?
- 2. एक्स = एक्स ++ के बीच क्या अंतर है; बनाम एक्स ++ ;?
- 3. Console.WriteLine()
- 4. Debug.WriteLine बराबर?
- 5. सोलर बनाम वेबोलर के बीच क्या अंतर है?
- 6. lemmatization बनाम stemming के बीच सही अंतर क्या है?
- 7. सी ++ बनाम सी ++ के बीच मुख्य अंतर क्या है? नेट?
- 8. लॉगकैट बनाम dmesg के बीच क्या अंतर है?
- 9. ResultSetExtractor बनाम रोमैपर के बीच क्या अंतर है?
- 10. विजेट पोस्ट() बनाम हैंडलर पोस्ट() के बीच क्या अंतर है?
- 11. process.cwd() बनाम __dirname के बीच क्या अंतर है?
- 12. फ़ंक्शन पॉइंटर बनाम फ़ंक्शन कॉल के बीच क्या अंतर है?
- 13. html.AttributeEncode बनाम html.Encode के बीच क्या अंतर है?
- 14. कैसंद्रा बनाम ओरेकल समन्वय के बीच क्या अंतर है?
- 15. Directory.EnumerateFiles बनाम Directory.GetFiles के बीच क्या अंतर है?
- 16. db_owner बनाम db_datareader/db_datawriter होने के बीच क्या अंतर है?
- 17. "गिट रीसेट" बनाम "गिट रीबेस" के बीच क्या अंतर है?
- 18. स्तरीय बनाम परत अनुप्रयोग के बीच क्या अंतर है?
- 19. के बीच क्या अंतर है?
- 20. क्या console.writeline धागा सुरक्षित है?
- 21. पाइथन बनाम ज्योथन बनाम आयरनपीथन बनाम WxPython के बीच क्या अंतर है?
- 22. स्ट्रिंग और स्ट्रिंगबिल्डर के बीच क्या अंतर है?
- 23. डब्ल्यूपीएफ और सिल्वरलाइट के बीच क्या अंतर है?
- 24. एसक्यूएल: बनाम "के बीच" के बीच अंतर "CURRENT_DATE - संख्या"
- 25. बू बनाम नेमेरले के बीच अंतर क्या हैं?
- 26. रेगेक्स में() और [] के बीच क्या अंतर है?
- 27. सिल्वरलाइट और एक्सबीएपी के बीच क्या अंतर है?
- 28. अमेज़ॅन एसएनएस और अमेज़ॅन एसक्यूएस के बीच क्या अंतर है?
- 29. अभिव्यक्तियों के बीच उन PHP के बीच क्या अंतर है?
- 30. ओरिएंटब संस्करणों के बीच क्या अंतर है?
कड़ाई से डीबग व्यू मूल विंडोज एपीआई कॉल 'आउटपुटडिबगस्ट्रिंग' (और 'डीबगप्रिंट') के माध्यम से लॉग इन संदेशों पर नज़र रखता है। 'DefaultTraceListener' 'आउटपुटडिबगस्ट्रिंग' को लिखता है, यही कारण है कि डीबग व्यू आउटपुट को देखता है। http://msdn.microsoft.com/en-us/library/system.diagnostics.defaulttracelistener.aspx – MarkJ