सी# कथन का उपयोग करना

Si Kathana Ka Upayoga Karana



डेटाबेस कनेक्शन, दस्तावेज़ स्ट्रीम, या नेटवर्क कनेक्शन जैसे संसाधनों का निपटान करते समय, उचित निपटान सुनिश्चित करने के लिए C# भाषा में 'उपयोग' कथन का उपयोग किया जाता है। आईडीस्पोज़ेबल इंटरफ़ेस का अनुपालन करने वाली वस्तुओं का प्रबंधन इस दृष्टिकोण से सरल बना दिया गया है। कोड का वह अनुभाग जिसमें संसाधन उत्पन्न और उपयोग किया जाता है, तब बनाया जाता है जब कोई 'उपयोग' कथन घोषित किया जाता है। यदि ब्लॉक से बाहर निकलने के लिए सामान्य प्रसंस्करण या अपवाद का उपयोग किया जाता है, तो किसी भी अनियंत्रित संसाधनों को जारी करने और किसी भी आवश्यक सफाई को करने के लिए ऑब्जेक्ट के डिस्पोज़ () फ़ंक्शन को तुरंत लागू किया जाता है। इस गाइड में, हम C# 'उपयोग' कथन के उपयोग के साथ दस्तावेज़ स्ट्रीम संसाधनों को कवर करेंगे।

वाक्य - विन्यास:

C# 'उपयोग' कथन का उपयोग उन संसाधनों को प्रबंधित करने के लिए किया जाता है जिन्हें स्पष्ट रूप से सुविधाजनक और सुरक्षित रूप से निपटाने की आवश्यकता होती है। यह इस प्रकार एक विशिष्ट वाक्यविन्यास का अनुसरण करता है:

का उपयोग करते हुए ( संसाधन प्रकार संसाधन = नया संसाधन प्रकार ( ) ) { // कोड }
  • 'उपयोग' कीवर्ड का उपयोग 'उपयोग' कथन घोषित करने के लिए किया जाता है।
  • 'उपयोग' कीवर्ड के बाद, आप उस संसाधन प्रकार को निर्दिष्ट करते हैं जिसके साथ आप काम करना चाहते हैं, उसके बाद एक चर नाम होता है जो ब्लॉक के भीतर संसाधन का प्रतिनिधित्व करता है। कोई भी ऑब्जेक्ट जो IDisposable इंटरफ़ेस को कार्यान्वित करता है वह योग्य होता है। आप आवश्यकतानुसार ब्लॉक के भीतर संसाधन पर काम कर सकते हैं।
  • इसके बाद, वेरिएबल को संसाधन प्रकार का एक नया उदाहरण निर्दिष्ट करने के लिए एक समान चिह्न (=) का उपयोग किया जाता है।
  • यहां, संसाधन प्रकार की एक नई वस्तु उत्पन्न करने के लिए 'नए' कीवर्ड का उपयोग किया जाता है।
  • कोई भी अतिरिक्त आरंभीकरण या कॉन्फ़िगरेशन नए कीवर्ड के बाद कोष्ठक के भीतर किया जा सकता है।
  • अंत में, आप उस कोड को संलग्न करते हैं जो घुंघराले ब्रेसिज़ {} के भीतर संसाधन का उपयोग करता है।

उदाहरण 1:

आइए इस आलेख में C# 'उपयोग' कथन के उपयोग को प्रदर्शित करने के लिए C# कोड उदाहरणों से शुरुआत करें। दिया गया कोड एक C# प्रोग्राम को कवर करता है जो 'उपयोग' कथन के भीतर 'स्ट्रीमरीडर' वर्ग का उपयोग करके एक टेक्स्ट फ़ाइल की सामग्री को पढ़ता है।







प्रोग्राम आवश्यक नामस्थान, सिस्टम और System.IO को आयात करके शुरू होता है, जो इनपुट/आउटपुट संचालन और फ़ाइल हैंडलिंग के लिए कक्षाएं प्रदान करता है। प्रोग्राम 'डमी' नामक एक वर्ग को परिभाषित करता है। 'डमी' क्लास के अंदर, एक Main() विधि है जिसे शुरू से अंत तक समग्र प्रोग्राम को निष्पादित करने के लिए किसी भी C# प्रोग्राम की प्रविष्टि के रूप में हमेशा माना जाना चाहिए।



मेन() विधि 'fp' स्ट्रिंग वेरिएबल घोषित करने और इसे 'test.txt' मान निर्दिष्ट करने से शुरू होती है। यह पढ़ी जाने वाली टेक्स्ट फ़ाइल के फ़ाइल पथ का प्रतिनिधित्व करता है। फ़ाइलों को पढ़ते समय उत्पन्न होने वाली सभी संभावित त्रुटियों से निपटने के लिए, ट्राई-कैच ब्लॉक का उपयोग किया जाता है।



प्रयास ब्लॉक के भीतर, 'स्ट्रीमरीडर' वर्ग का एक उदाहरण बनाने के लिए 'उपयोग' कथन का उपयोग किया जाता है। किसी फ़ाइल से सामग्री को समझने का कार्य 'स्ट्रीमरीडर' पर पड़ता है। फ़ाइल पथ जो 'एफपी' वेरिएबल में संग्रहीत है, उसे 'स्ट्रीमरीडर' कंस्ट्रक्टर को भेज दिया जाता है जो फ़ाइल को पढ़ने के लिए इंगित करता है।





'उपयोग' ब्लॉक के अंदर, फ़ाइल की सामग्री को 'जबकि' लूप का उपयोग करके लाइन द्वारा लाइन की जांच की जाती है जब तक कि दस्तावेज़ की अंतिम पंक्ति दिखाई न दे। लूप 'स्ट्रीमरीडर' की रीडलाइन() विधि का उपयोग करके एक लाइन पढ़ता है और इसे स्ट्रिंग वेरिएबल 'एल' को असाइन करता है। यदि लाइन शून्य नहीं है, तो इसे कंसोल.राइटलाइन (एल) का उपयोग करके कंसोल पर मुद्रित किया जाता है।

एक बार जब फ़ाइल का अंत हो जाता है और पढ़ने के लिए कोई पंक्ति नहीं होती है, तो 'उपयोग' ब्लॉक बाहर निकल जाता है और 'स्ट्रीमरीडर' ऑब्जेक्ट 'उपयोग' कथन के कारण स्वचालित रूप से निपटान हो जाता है। जब भी किसी दस्तावेज़ को पढ़ते समय IOException उत्पन्न होती है तो कैच ब्लॉक सक्रिय हो जाता है। अपवाद संदेश e.Message का उपयोग करके प्राप्त किया जाता है, और कंसोल पर एक त्रुटि संदेश कंसोल.WriteLine() का उपयोग करके प्रदर्शित किया जाता है।



प्रोग्राम निष्पादन पूरा हो जाता है और कंसोल आउटपुट प्रदर्शित होता है। यह मानते हुए कि 'test.txt' फ़ाइल मौजूद है और इसमें पाठ की कई पंक्तियाँ हैं, इस कोड का आउटपुट फ़ाइल की सामग्री है जो कंसोल पर मुद्रित होती है जैसा कि निम्नलिखित संलग्न छवि में दिखाया गया है। प्रत्येक पंक्ति को आउटपुट में अलग से दिखाया गया है:

सिस्टम का उपयोग करना ;

सिस्टम का उपयोग करना। आईओ ;

क्लास डमी {

स्थिर खालीपन मुख्य ( ) {

स्ट्रिंग एफपी = 'test.txt' ;

कोशिश {

का उपयोग करते हुए ( स्ट्रीमरीडर रीडर = नया स्ट्रीमरीडर ( एफपी ) )

{

स्ट्रिंग एल ;

जबकि ( ( एल = पाठक. पढ़ने के लिए लाइन ( ) ) != व्यर्थ )

{

सांत्वना देना। पंक्ति लिखो ( एल ) ;

}

}

}

पकड़ना ( IOException ई ) {

सांत्वना देना। पंक्ति लिखो ( 'त्रुटि हुई: ' + यह है। संदेश ) ;

}

}

}

टिप्पणी: यदि 'test.txt' फ़ाइल मौजूद नहीं है या फ़ाइल एक्सेस या पढ़ने में कोई समस्या है, तो कैच ब्लॉक निष्पादित होता है, और कंसोल पर एक त्रुटि संदेश प्रदर्शित होता है जो घटित विशिष्ट अपवाद को इंगित करता है।

उदाहरण 2:

यहां एक और सरल उदाहरण है जो किसी फ़ाइल में डेटा लिखने के लिए स्ट्रीमवाइटर के साथ सी# 'उपयोग' कथन के उपयोग को प्रदर्शित करता है। यहां अपेक्षित आउटपुट के साथ कोड का स्पष्टीकरण दिया गया है। कोड 'डमी' वर्ग और 'मुख्य' विधि की घोषणा के साथ शुरू होता है जो अंततः कार्यक्रम को शुरू और समाप्त करेगा।

'मुख्य' विधि के भीतर, 'fp' स्ट्रिंग वैरिएबल को 'test.txt' फ़ाइल पथ के साथ घोषित और आरंभ किया जाता है। जिस दस्तावेज़ पर जानकारी लिखी गई है उसे इसके द्वारा दर्शाया जाता है। दस्तावेज़ लेखन प्रक्रिया के दौरान उत्पन्न होने वाले किसी भी संभावित IOException से निपटने के लिए, प्रोग्राम एक ट्राई-कैच ब्लॉक में संलग्न है।

ट्राई ब्लॉक के अंदर, 'राइटर' नाम का एक स्ट्रीमराइटर ऑब्जेक्ट बनाया जाता है और 'यूज़िंग' स्टेटमेंट का उपयोग करके आरंभ किया जाता है। स्ट्रीमराइटर किसी फ़ाइल में अक्षर लिखने के लिए ज़िम्मेदार है। लेखक ऑब्जेक्ट के राइटलाइन फ़ंक्शन के माध्यम से सामग्री की दो अलग-अलग पंक्तियों को 'उपयोग' अनुभाग के अंदर एक दस्तावेज़ में जोड़ा जाता है। एक बार ब्लॉक से बाहर निकलने के बाद, स्ट्रीमराइटर की डिस्पोज़() विधि स्वचालित रूप से कॉल की जाती है जो यह सुनिश्चित करती है कि कोई भी लंबित डेटा फ़ाइल में लिखा गया है और आवश्यक संसाधन जारी किए गए हैं।

अंत में, 'उपयोग' ब्लॉक के बाहर, 'डेटा सफलतापूर्वक लिखा गया।' संदेश कंसोल पर दिखाया गया है जो दर्शाता है कि दस्तावेज़ का लेखन ऑपरेशन सफल और त्रुटि मुक्त है। यदि दस्तावेज़ की लेखन प्रक्रिया के दौरान कोई IOException होता है, तो कैच ब्लॉक सक्रिय हो जाता है। उस स्थिति में, कंसोल पर विशिष्ट अपवाद संदेश के साथ एक त्रुटि संदेश प्रदर्शित होता है।

सिस्टम का उपयोग करना ;

सिस्टम का उपयोग करना। आईओ ;

क्लास डमी {

स्थिर खालीपन मुख्य ( ) {

स्ट्रिंग एफपी = 'test.txt' ;

कोशिश {

का उपयोग करते हुए ( स्ट्रीमराइटर लेखक = नया स्ट्रीमराइटर ( एफपी ) )

{

लेखक. पंक्ति लिखो ( 'हैलो, सी-शार्प!' ) ;

लेखक. पंक्ति लिखो ( 'यह एक परीक्षण पाठ है।' ) ;

}

सांत्वना देना। पंक्ति लिखो ( 'डेटा सफलतापूर्वक लिखा गया।' ) ;

}

पकड़ना ( IOException ई ) {

सांत्वना देना। पंक्ति लिखो ( 'त्रुटि हुई: ' + यह है। संदेश ) ;

}

}

}

संक्षेप में, कोड 'उपयोग' कथन का उपयोग करके एक स्ट्रीमराइटर ऑब्जेक्ट बनाता है, एक फ़ाइल में पाठ की दो पंक्तियाँ लिखता है, और फिर स्वचालित रूप से स्ट्रीमराइटर का निपटान करता है। यदि लेखन कार्य सफल हो जाता है, तो सॉफ़्टवेयर एक सफलता संदेश उत्पन्न करता है। अन्यथा, यदि कोई IOException होता है तो यह विफलता संदेश भेजता है।

निष्कर्ष

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