मैं आज एक सहकर्मियों सी # कोड ढूंढ रहे थे और निम्नलिखित पाया:क्या सी # कथन का उपयोग कर घुंघराले ब्रेसिज़ के बिना लिखा जा सकता है?
using (MemoryStream data1 = new MemoryStream())
using (MemoryStream data2 = new MemoryStream())
{
// Lots of code..........
}
मैं हमेशा using
बयान घुंघराले ब्रेसिज़ उस वस्तु जीवन के दायरे में परिभाषित किया गया की एक जोड़ी के बाद देखा था। कोड लिखने वाले मेरे सहकर्मी ने कहा कि data1
using
कथन के लिए घुंघराले ब्रेसिज़ की आवश्यकता नहीं थी और कोड वही था जैसे वे मौजूद थे और data2
using
कथन निहित किए गए थे। तो, क्या होता है जब घुंघराले ब्रेसिज़ कम हो जाते हैं?
बस मेरे 2 सेंट - के रूप में जवाब द्वारा प्रदर्शन करते हुए आप यह करते हैं "कर सकते हैं",, मैं राय है कि आप इसे नहीं करना चाहिए, पठनीयता प्रयोजनों के लिए की हूँ। मेरे लिए, यह सिर्फ/else/while/lock/etc को लपेटने जैसा है। ब्रेसिज़ में ब्लॉक - भले ही वे आवश्यक न हों, फिर भी इसे पढ़ने में बहुत आसान है। –
मेरी राय में, उपरोक्त के रूप में 'उपयोग' कथन का उपयोग किया गया है ** ** ** ** नेस्टेड 'उपयोग' कथन से कहीं अधिक पठनीय हैं। विशेष रूप से उन मामलों में जहां आप संचालन के एक सेट को करने के लिए 3-4 स्ट्रीम/स्ट्रीम रीडर को एक साथ जोड़ रहे हैं। –
@ जोएल: शायद किसी और चीज की तरह, विशिष्ट स्थिति को ध्यान में रखा जाना चाहिए।अगर यह सिर्फ दो था, तो मेरी राय है कि उन्हें पूरी तरह से ब्रेसिज़ के साथ घोंसला करना है। अगर हम 4 की बात कर रहे हैं जैसे आप कहते हैं, शायद ढेर बेहतर दृष्टिकोण है। लेकिन पहली बार डेटा 2 के निर्माण से पहले डेटा 1 तक पहुंचने की आवश्यकता है, इसका मतलब है कि कोड की एक पंक्ति जोड़ने के बजाय कोड की पठनीयता बदलना। –