top 50 c interview questions with answers
प्रोग्रामिंग और कोडिंग पर अक्सर पूछे जाने वाले बुनियादी सी # साक्षात्कार प्रश्न:
C # एक प्रोग्रामिंग भाषा है जो तेजी से बढ़ी है और इसका व्यापक रूप से उपयोग किया जाता है। यह उच्च मांग में है, बहुमुखी है और क्रॉस-प्लेटफॉर्म का भी समर्थन करता है।
यह न केवल खिड़कियों के लिए बल्कि कई अन्य ऑपरेटिंग सिस्टम के लिए उपयोग किया जाता है। इसलिए, सॉफ़्टवेयर परीक्षण उद्योग में किसी भी नौकरी में उतरने के लिए इस भाषा की एक मजबूत समझ होना बहुत महत्वपूर्ण है।
नीचे सूचीबद्ध न केवल C # के अक्सर पूछे जाने वाले प्रश्नों का एक सेट है, बल्कि C # जनसंख्या की भीड़ से बाहर खड़े होने के लिए समझा जाने वाले कुछ बहुत महत्वपूर्ण विषय भी हैं।
जैसा कि C # एक विशाल विषय है, सभी अवधारणाओं को संबोधित करने में आसानी के लिए, मैंने इस विषय को नीचे दिए गए अनुसार तीन भागों में विभाजित किया है:
- बुनियादी अवधारणाओं पर प्रश्न
- Arrays और स्ट्रिंग्स पर प्रश्न
- उन्नत अवधारणाओं
इस लेख में शीर्ष 50 C # साक्षात्कार के प्रश्नों और उत्तरों के एक सेट को शामिल किया गया है, जो आपके साक्षात्कार के लिए तैयार करने में आपकी मदद करने के लिए लगभग सभी महत्वपूर्ण विषयों को सरल शब्दों में कवर करता है।
आप क्या सीखेंगे:
सबसे लोकप्रिय सी # साक्षात्कार प्रश्न और उत्तर
मूल अवधारणा
Q # 1) ऑब्जेक्ट एंड क्लास क्या है?
उत्तर: क्लास उन संपत्तियों और विधियों का एक एनकैप्सुलेशन है जिसका उपयोग वास्तविक समय इकाई का प्रतिनिधित्व करने के लिए किया जाता है। यह एक डेटा संरचना है जो एक इकाई में सभी उदाहरणों को एक साथ लाता है।
ऑब्जेक्ट को क्लास की एक आवृत्ति के रूप में परिभाषित किया गया है। तकनीकी रूप से, यह केवल आवंटित मेमोरी का एक ब्लॉक है जिसे चर, सरणी या संग्रह के रूप में संग्रहीत किया जा सकता है।
Q # 2) मौलिक ओओपी अवधारणाएं क्या हैं?
उत्तर: ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की चार मूलभूत अवधारणाएँ हैं:
- कैप्सूलीकरण : यहाँ, वस्तु की परिभाषा के बाहर के दृश्य से किसी वस्तु का आंतरिक प्रतिनिधित्व छिपा है। केवल आवश्यक जानकारी तक ही पहुंचा जा सकता है जबकि शेष डेटा कार्यान्वयन छिपा हुआ है।
- अमूर्त: यह किसी वस्तु के महत्वपूर्ण व्यवहार और डेटा की पहचान करने और अप्रासंगिक विवरण को समाप्त करने की एक प्रक्रिया है।
- विरासत : यह दूसरी कक्षा से नई कक्षाएं बनाने की क्षमता है। यह मूल वर्ग में वस्तुओं के व्यवहार तक पहुंच, संशोधन और विस्तार द्वारा किया जाता है।
- बहुरूपता : नाम का अर्थ है, एक नाम, कई रूप। यह एक ही नाम लेकिन विभिन्न कार्यान्वयन के साथ कई तरीके होने से हासिल किया जाता है।
Q # 3) प्रबंधित और अप्रबंधित कोड क्या है?
उत्तर: प्रबंधित कोड एक कोड होता है जिसे CLR (सामान्य भाषा रनटाइम) द्वारा निष्पादित किया जाता है यानी सभी एप्लिकेशन कोड .Net प्लेटफॉर्म पर आधारित होते हैं। इसे .Net ढांचे के कारण प्रबंधित माना जाता है जो अप्रयुक्त मेमोरी को साफ़ करने के लिए कचरा कलेक्टर का आंतरिक रूप से उपयोग करता है।
मानवरहित कोड कोई भी कोड होता है जिसे .Net के अलावा किसी अन्य ढांचे के एप्लिकेशन रनटाइम द्वारा निष्पादित किया जाता है। एप्लिकेशन रनटाइम स्मृति, सुरक्षा और अन्य प्रदर्शन कार्यों का ध्यान रखेगा।
Q # 4) इंटरफ़ेस क्या है?
उत्तर: इंटरफ़ेस एक ऐसा वर्ग है जिसमें कोई कार्यान्वयन नहीं है। केवल एक चीज जिसमें यह शामिल है, वह विधियों, गुणों और घटनाओं की घोषणा है।
Q # 5) C # में विभिन्न प्रकार के वर्ग कौन से हैं?
उत्तर: C # में विभिन्न प्रकार के वर्ग हैं:
- आंशिक वर्ग: यह अपने सदस्यों को कई .cs फ़ाइलों के साथ विभाजित या साझा करने की अनुमति देता है। इसे कीवर्ड द्वारा दर्शाया जाता है आंशिक
- सील वर्ग: यह एक ऐसा वर्ग है जिसे विरासत में नहीं दिया जा सकता है। एक सील वर्ग के सदस्यों तक पहुंचने के लिए, हमें कक्षा की वस्तु बनाने की आवश्यकता है। इसे कीवर्ड द्वारा दर्शाया जाता है सील ।
- सार वर्ग : यह एक ऐसा वर्ग है जिसकी वस्तु को त्वरित नहीं किया जा सकता है। वर्ग को केवल विरासत में मिला जा सकता है। इसमें कम से कम एक तरीका होना चाहिए। इसे कीवर्ड द्वारा दर्शाया जाता है सार ।
- स्थिर वर्ग : यह एक ऐसा वर्ग है जो वंशानुक्रम की अनुमति नहीं देता है। वर्ग के सदस्य भी स्थिर हैं। इसे कीवर्ड द्वारा दर्शाया जाता है स्थिर । यह कीवर्ड संकलक को स्थिर वर्ग के किसी भी आकस्मिक उदाहरण के लिए जाँच करने के लिए कहता है।
क्यू # 6) सी # में कोड संकलन की व्याख्या करें।
उत्तर: C # में कोड संकलन में निम्नलिखित चार चरण शामिल हैं:
- स्रोत कोड को C # संकलक द्वारा प्रबंधित कोड में संकलित करना।
- नई बनाई गई कोड को असेंबलियों में संयोजित करना।
- सामान्य भाषा रनटाइम (CLR) लोड हो रहा है।
- सीएलआर द्वारा विधानसभा को निष्पादित करना।
क्यू # 7) एक वर्ग और एक संरचना के बीच अंतर क्या हैं?
उत्तर: नीचे दिए गए वर्ग और संरचना के बीच अंतर हैं:
कक्षा | struct |
---|---|
वंशानुक्रम का समर्थन करता है | वंशानुक्रम का समर्थन नहीं करता है |
संदर्भ से कक्षा पास है (संदर्भ प्रकार) | संरचना प्रतिलिपि द्वारा पास है (मान प्रकार) |
सदस्य डिफ़ॉल्ट रूप से निजी हैं | सदस्य डिफ़ॉल्ट रूप से सार्वजनिक होते हैं |
बड़ी जटिल वस्तुओं के लिए अच्छा है | छोटे पृथक मॉडल के लिए अच्छा है |
स्मृति प्रबंधन के लिए अपशिष्ट कलेक्टर का उपयोग कर सकते हैं | कचरा संग्रहकर्ता का उपयोग नहीं किया जा सकता है और इसलिए कोई मेमोरी प्रबंधन नहीं है |
Q # 8) वर्चुअल मेथड और एब्सट्रैक्ट मेथड में क्या अंतर है?
उत्तर: वर्चुअल मेथड में हमेशा डिफॉल्ट इम्प्लीमेंटेशन होना चाहिए। हालांकि, इसे व्युत्पन्न वर्ग में ओवरराइड किया जा सकता है, हालांकि यह अनिवार्य नहीं है। इसका उपयोग करके इसे ओवरराइड किया जा सकता है अवहेलना कीवर्ड।
अमूर्त विधि में कार्यान्वयन नहीं है। यह अमूर्त वर्ग में रहता है। यह अनिवार्य है कि व्युत्पन्न वर्ग अमूर्त पद्धति को लागू करता है। एक अवहेलना यहां कीवर्ड जरूरी नहीं है, हालांकि इसका इस्तेमाल किया जा सकता है।
Q # 9) C # में Namespaces बताएं।
उत्तर: उनका उपयोग बड़ी कोड परियोजनाओं को व्यवस्थित करने के लिए किया जाता है। 'सिस्टम' C # में सबसे अधिक उपयोग किया जाने वाला नामस्थान है। हम अपने स्वयं के नाम स्थान बना सकते हैं और दूसरे में एक नाम स्थान का भी उपयोग कर सकते हैं, जिसे नेस्टेड नेमस्पेस कहा जाता है।
उन्हें 'नामस्थान' कीवर्ड द्वारा दर्शाया गया है।
Q # 10) C # में 'स्टेटमेंट' का उपयोग क्या है?
उत्तर: 'का उपयोग करना' कीवर्ड दर्शाता है कि प्रोग्राम द्वारा विशेष नामस्थान का उपयोग किया जा रहा है।
उदाहरण के लिए, सिस्टम का उपयोग कर
यहाँ, प्रणाली एक नामस्थान है। क्लास कंसोल सिस्टम के तहत परिभाषित किया गया है। इसलिए, हम अपने प्रोग्राम में कंसोल.राइटिटलाइन ('...') या रीडलाइन का उपयोग कर सकते हैं।
Q # 11) अमूर्तता स्पष्ट करें।
उत्तर: अमूर्तता OOP अवधारणाओं में से एक है। इसका उपयोग केवल कक्षा की आवश्यक सुविधाओं को प्रदर्शित करने और अनावश्यक जानकारी को छिपाने के लिए किया जाता है।
आइए हम एक कार का उदाहरण लें:
कार के ड्राइवर को कार के बारे में विवरण पता होना चाहिए जैसे कि रंग, नाम, दर्पण, स्टीयरिंग, गियर, ब्रेक इत्यादि। वह जो कुछ भी नहीं जानता है वह एक आंतरिक इंजन, निकास प्रणाली है।
तो, एब्सट्रैक्शन यह जानने में मदद करता है कि क्या आवश्यक है और बाहरी दुनिया से आंतरिक विवरणों को छिपा रहा है। इस तरह के मापदंडों को निजी का उपयोग करके घोषित करके आंतरिक जानकारी को छुपाया जा सकता है निजी कीवर्ड।
Q # 12) बहुरूपता की व्याख्या कीजिए?
उत्तर: प्रोग्रामेटिक रूप से, पॉलीमॉर्फिज्म का मतलब एक ही तरीका है लेकिन विभिन्न कार्यान्वयन हैं। यह 2 प्रकार का होता है, संकलन-समय और रनटाइम।
- संकलन-समय बहुरूपता ऑपरेटर ओवरलोडिंग द्वारा प्राप्त किया जाता है।
- रनटाइम बहुरूपता ओवरराइड करके हासिल किया जाता है। वंशानुक्रम और आभासी कार्यों का उपयोग रनटाइम पॉलीमॉर्फिज़्म के दौरान किया जाता है।
उदाहरण के लिए ,यदि किसी वर्ग में एक विधि Void Add () है, तो पॉलीमोर्फिज्म को विधि को ओवरलोड करके प्राप्त किया जाता है, अर्थात void Add (int a, int b), void Add (int add) सभी अतिभारित विधियां हैं।
Q # 13) C # में अपवाद हैंडलिंग कैसे लागू किया जाता है?
उत्तर: अपवाद हैंडलिंग C # में चार कीवर्ड का उपयोग करके किया जाता है:
- प्रयत्न : कोड का एक ब्लॉक होता है जिसके लिए एक अपवाद की जाँच की जाएगी।
- पकड़ : यह एक प्रोग्राम है जो अपवाद हैंडलर की मदद से एक अपवाद को पकड़ता है।
- आखिरकार : यह कोड का एक खंड है, जो इस बात पर ध्यान दिए बिना लिखा जाता है कि अपवाद पकड़ा गया है या नहीं।
- फेंकना : जब कोई समस्या होती है तो एक अपवाद को फेंक देता है।
Q # 14) C # I / O वर्ग क्या हैं? आमतौर पर उपयोग किए जाने वाले I / O वर्ग क्या हैं?
उत्तर: C # में System.IO नेमस्पेस है, जिसमें उन वर्गों को शामिल किया जाता है जो विभिन्न ऑपरेशन जैसे फाइल बनाने, हटाने, खोलने, बंद करने आदि के लिए उपयोग किए जाते हैं।
कुछ सामान्य रूप से I / O वर्ग का उपयोग किया जाता है:
- फ़ाइल - एक फ़ाइल में हेरफेर करने में मदद करता है।
- StreamWriter - एक स्ट्रीम में वर्ण लिखने के लिए उपयोग किया जाता है।
- स्ट्रीमरडर - एक स्ट्रीम में वर्ण पढ़ने के लिए उपयोग किया जाता है।
- स्ट्रिंगट्राइटर - एक स्ट्रिंग बफर पढ़ने के लिए उपयोग किया जाता है।
- स्ट्रिंगर - एक स्ट्रिंग बफर लिखने के लिए उपयोग किया जाता है।
- पथ - पथ की जानकारी से संबंधित संचालन करने के लिए उपयोग किया जाता है।
क्यू # 15) StreamReader / StreamWriter वर्ग क्या है?
उत्तर: StreamReader और StreamWriter नामस्थान System.IO की कक्षाएं हैं। इनका उपयोग तब किया जाता है, जब हम क्रमशः क्रमशः CSS90, रीडर-आधारित डेटा पढ़ना या लिखना चाहते हैं।
StreamReader के कुछ सदस्य हैं: बंद (), पढ़ें (), Readline ()।
StreamWriter के सदस्य हैं: बंद (), लिखें (), रिटलाइन ()।
Class Program1 { using(StreamReader sr = new StreamReader(“C:ReadMe.txt”) { //----------------code to read-------------------// } using(StreamWriter sw = new StreamWriter(“C:ReadMe.txt”)) { //-------------code to write-------------------// } }
Q # 16) C # में एक विनाशकारी क्या है?
उत्तर: विनाशकारी का उपयोग स्मृति को साफ करने और संसाधनों को मुक्त करने के लिए किया जाता है। लेकिन C # में यह कचरा कलेक्टर द्वारा स्वयं किया जाता है। System.GC.Collect () को सफाई के लिए आंतरिक रूप से कहा जाता है। लेकिन कभी-कभी मैन्युअल रूप से विध्वंसक को लागू करना आवश्यक हो सकता है।
उदाहरण के लिए:
~Car() { Console.writeline(“….”); }
Q # 17) एक सार वर्ग क्या है?
उत्तर: एब्सट्रैक्ट क्लास एक ऐसा क्लास है जिसे एब्सट्रैक्ट कीवर्ड द्वारा दर्शाया जाता है और इसे केवल बेस क्लास के रूप में इस्तेमाल किया जा सकता है। इस वर्ग को हमेशा विरासत में मिलना चाहिए। कक्षा का एक उदाहरण स्वयं नहीं बनाया जा सकता है। यदि हम नहीं चाहते कि कोई भी कार्यक्रम किसी वर्ग की वस्तु का निर्माण करे, तो ऐसे वर्गों को अमूर्त बनाया जा सकता है।
अमूर्त वर्ग में किसी भी विधि में एक ही कक्षा में कार्यान्वयन नहीं है। लेकिन उन्हें बाल वर्ग में लागू किया जाना चाहिए।
उदाहरण के लिए:
abstract class AB1 { Public void Add(); } Class childClass : AB1 { childClass cs = new childClass (); int Sum = cs.Add(); }
एक अमूर्त वर्ग के सभी तरीके अंतर्निहित आभासी तरीके हैं। इसलिए, अमूर्त वर्ग में किसी भी तरीके के साथ वर्चुअल कीवर्ड का उपयोग नहीं किया जाना चाहिए।
Q # 18) बॉक्सिंग और अनबॉक्सिंग क्या हैं?
उत्तर: मान प्रकार को संदर्भ प्रकार में परिवर्तित करना बॉक्सिंग कहलाता है।
उदाहरण के लिए:
int Value1 - = 10;
// —————————————————— // //
ऑब्जेक्ट बॉक्सेडवैल्यू = मान 1;
मूल्य प्रकार पर वापस उसी संदर्भ प्रकार (बॉक्सिंग द्वारा बनाई गई) का स्पष्ट रूपांतरण कहा जाता है बॉक्स से निकालना ।
उदाहरण के लिए:
// —————- अनबॉक्सिंग ——————— //
int अनबॉक्सिंग = int (boxedValue);
वायरलेस राउटर पर सुरक्षा कुंजी क्या है
Q # 19) कंटिन्यू और ब्रेक स्टेटमेंट में क्या अंतर है?
उत्तर: ब्रेक स्टेटमेंट लूप को तोड़ता है। यह लूप से बाहर निकलने के लिए प्रोग्राम का नियंत्रण बनाता है। जारी बयान केवल वर्तमान पुनरावृत्ति से बाहर निकलने के लिए कार्यक्रम का नियंत्रण बनाता है। यह लूप को नहीं तोड़ता है।
Q # 20) ब्लॉक और फाइनल को अंतिम रूप देने में क्या अंतर है?
उत्तर: आखिरकार ब्लॉक को कोशिश और कैच ब्लॉक के निष्पादन के बाद कहा जाता है। इसका उपयोग अपवाद हैंडलिंग के लिए किया जाता है। भले ही कोई अपवाद पकड़ा गया हो या नहीं, कोड के इस ब्लॉक को निष्पादित किया जाएगा। आमतौर पर, इस ब्लॉक में एक सफाई कोड होगा।
कचरा संग्रहण से ठीक पहले अंतिम विधि को कहा जाता है। इसका उपयोग अनवांटेड कोड के क्लीन अप ऑपरेशन को करने के लिए किया जाता है। यह स्वचालित रूप से तब कहा जाता है जब किसी दिए गए उदाहरण को बाद में नहीं बुलाया जाता है।
Arrays और स्ट्रिंग्स
Q # 21) एक ऐरे क्या है? एकल और बहुआयामी सरणी के लिए सिंटैक्स दें?
उत्तर: एक सरणी का उपयोग एक ही प्रकार के कई चर को संग्रहीत करने के लिए किया जाता है। यह एक सन्निहित स्मृति स्थान में संग्रहीत चर का संग्रह है।
उदाहरण के लिए:
डबल नंबर = नया डबल (10);
int () स्कोर = नया int (४) {२५,२४,२३,२५};
एक एकल आयामी सरणी एक रैखिक सरणी है जहां चर एक पंक्ति में संग्रहीत किए जाते हैं। ऊपर उदाहरण एक एकल आयामी सरणी है।
Arrays में एक से अधिक आयाम हो सकते हैं। बहुआयामी सरणियों को आयताकार सरणियाँ भी कहा जाता है।
उदाहरण के लिए , int (,) नंबर = नया int (3,2) {{1,2}, {2,3}, {3,4}};
क्यू # 22) एक दांतेदार ऐरे क्या है?
उत्तर: दांतेदार सरणी एक सरणी है जिसके तत्व सरणियाँ हैं। इसे सरणियों की सारणी भी कहा जाता है। यह एकल या कई आयाम हो सकते हैं।
int () jaggedArray = नया int (4) ();
Q # 23) ऐरे के कुछ गुणों के नाम बताइए।
उत्तर: एक सरणी के गुणों में शामिल हैं:
- लंबाई: किसी सरणी में तत्वों की कुल संख्या प्राप्त करता है।
- IsFixedSize: बताता है कि सरणी आकार में तय की गई है या नहीं।
- IsReadOnly : बताता है कि सरणी केवल-पढ़ने के लिए है या नहीं।
Q # 24) एक ऐरे क्लास क्या है?
उत्तर: एक सरणी वर्ग सभी सरणियों के लिए आधार वर्ग है। यह कई गुण और विधियाँ प्रदान करता है। यह नाम स्थान प्रणाली में मौजूद है।
Q # 25) एक स्ट्रिंग क्या है? स्ट्रिंग क्लास के गुण क्या हैं?
उत्तर: एक स्ट्रिंग चार वस्तुओं का एक संग्रह है। हम स्ट्रिंग चर को c # में भी घोषित कर सकते हैं।
स्ट्रिंग नाम = 'सी # प्रश्न';
C # में एक स्ट्रिंग क्लास एक स्ट्रिंग का प्रतिनिधित्व करता है। स्ट्रिंग वर्ग के गुण हैं:
- घर का काम वर्तमान स्ट्रिंग में चार ऑब्जेक्ट प्राप्त करें।
- लंबाई वर्तमान स्ट्रिंग में वस्तुओं की संख्या प्राप्त करता है।
Q # 26) एस्केप सीक्वेंस क्या है? C # में कुछ स्ट्रिंग एस्केप सीक्वेंस को नाम दें।
उत्तर: एक एस्केप अनुक्रम को बैकस्लैश () द्वारा दर्शाया जाता है। बैकस्लैश इंगित करता है कि वर्ण जो इसका अनुसरण करता है उसकी शाब्दिक व्याख्या की जानी चाहिए या यह एक विशेष चरित्र है। भागने के क्रम को एकल वर्ण माना जाता है।
स्ट्रिंग एस्केप सीक्वेंस इस प्रकार हैं:
- n - न्यूलाइन वर्ण
- b - बैकस्पेस
- \ - बैकस्लैश
- ' - एकल बोली
- '' - दोहरे उद्धरण
Q # 27) रेगुलर एक्सप्रेशन क्या हैं? नियमित अभिव्यक्ति का उपयोग करके एक स्ट्रिंग खोजें?
उत्तर: नियमित अभिव्यक्ति इनपुट के एक सेट से मेल खाने के लिए एक टेम्पलेट है। पैटर्न में ऑपरेटर, निर्माण या चरित्र शाब्दिक शामिल हो सकते हैं। Regex का उपयोग स्ट्रिंग स्ट्रिंग और वर्ण स्ट्रिंग को बदलने के लिए किया जाता है।
उदाहरण के लिए:
* पूर्ववर्ती वर्ण शून्य या अधिक बार मेल खाता है। तो, a * b regex b, ab, aab, aaab वगैरह के बराबर है।
Regex का उपयोग कर एक स्ट्रिंग की खोज:
static void Main(string() args) { string() languages = { 'C#', 'Python', 'Java' }; foreach(string s in languages) { if(System.Text.RegularExpressions.Regex.IsMatch(s,'Python')) { Console.WriteLine('Match found'); } } }
उपरोक्त उदाहरण भाषाओं के सरणी से इनपुट के सेट के खिलाफ 'पायथन' की खोज करता है। यह Regex.IsMatch का उपयोग करता है जो यदि इनपुट में पैटर्न पाया जाता है तो मामले में सही है। पैटर्न उस इनपुट का प्रतिनिधित्व करने वाली कोई भी नियमित अभिव्यक्ति हो सकती है जिसे हम मेल खाना चाहते हैं।
Q # 28) बुनियादी स्ट्रिंग ऑपरेशन क्या हैं? स्पष्ट कीजिए।
उत्तर: कुछ बुनियादी स्ट्रिंग ऑपरेशन हैं:
- CONCATENATE : दो स्ट्रिंग्स को एक System.String.Concat का उपयोग करके या + ऑपरेटर का उपयोग करके या तो समवर्ती किया जा सकता है।
- संशोधित : एक स्ट्रिंग को दूसरे स्ट्रिंग के साथ बदलने के लिए (ए, बी) का उपयोग किया जाता है। ट्रिम () का उपयोग अंत में या शुरुआत में स्ट्रिंग को ट्रिम करने के लिए किया जाता है।
- तुलना : System.StringComparison () का उपयोग दो स्ट्रिंग्स की तुलना करने के लिए किया जाता है, या तो केस-संवेदी तुलना या केस संवेदी नहीं। मुख्य रूप से दो मापदंडों, मूल स्ट्रिंग, और स्ट्रिंग के साथ तुलना की जाती है।
- खोज : StartWith, EndsWith विधियों का उपयोग किसी विशेष स्ट्रिंग को खोजने के लिए किया जाता है।
Q # 29) पार्सिंग क्या है? कैसे एक तिथि समय स्ट्रिंग पार्स करने के लिए?
उत्तर: पार्सिंग एक स्ट्रिंग को अन्य डेटा प्रकार में परिवर्तित करता है।
उदाहरण के लिए:
स्ट्रिंग पाठ = '500';
int num = int.Parse (पाठ);
500 एक पूर्णांक है। तो, पारस विधि स्ट्रिंग 500 को अपने स्वयं के आधार प्रकार में परिवर्तित करती है, अर्थात इंट।
DateTime स्ट्रिंग को कनवर्ट करने के लिए उसी विधि का पालन करें।
स्ट्रिंग डेटाइम = 'जन 1, 2018';
तारीख समय parsedValue = DateTime.Parse (तारीख समय);
उन्नत अवधारणाओं
Q # 30) एक प्रतिनिधि क्या है? स्पष्ट कीजिए।
उत्तर: एक प्रतिनिधि एक चर है जो एक विधि के संदर्भ को रखता है। इसलिए यह एक फ़ंक्शन पॉइंटर या संदर्भ प्रकार है। सभी डेलिगेट्स System.Delegate नामस्थान से लिए गए हैं। डेलीगेट और जिस विधि को संदर्भित करता है, दोनों में एक ही हस्ताक्षर हो सकते हैं।
- एक प्रतिनिधि की घोषणा: सार्वजनिक प्रतिनिधि शून्य AddNumbers (int n);
एक प्रतिनिधि की घोषणा के बाद, प्रतिनिधि को नए कीवर्ड का उपयोग करके प्रतिनिधि द्वारा बनाया जाना चाहिए।
AddNumbers a1 = नया AddNumbers (संख्या);
प्रतिनिधि विधि संदर्भ पद्धति को एक प्रकार का एनकैप्सुलेशन प्रदान करता है, जो आंतरिक रूप से एक प्रतिनिधि को बुलाया जाता है।
public delegate int myDel(int number); public class Program { public int AddNumbers(int a) { int Sum = a + 10; return Sum; } public void Start() { myDel DelgateExample = AddNumbers; } }
उपरोक्त उदाहरण में, हमारे पास एक प्रतिनिधि myDel है जो एक पैरामीटर के रूप में पूर्णांक मान लेता है। कक्षा कार्यक्रम में प्रतिनिधि के रूप में एक ही हस्ताक्षर की एक विधि है, जिसे AddNumbers () कहा जाता है।
यदि स्टार्ट () नामक एक और विधि है जो प्रतिनिधि की एक वस्तु बनाता है, तो ऑब्जेक्ट को AddNumbers को सौंपा जा सकता है क्योंकि इसमें प्रतिनिधि के रूप में एक ही हस्ताक्षर है।
Q # 31) ईवेंट क्या हैं?
उत्तर: घटनाएँ उपयोगकर्ता की कार्रवाइयाँ होती हैं जो उस एप्लिकेशन को सूचनाएँ उत्पन्न करती हैं जिसके लिए उसे जवाब देना चाहिए। उपयोगकर्ता की कार्रवाइयाँ माउस मूवमेंट, कीप आदि हो सकती हैं।
प्रोग्रामिक रूप से, किसी घटना को उठाने वाले वर्ग को प्रकाशक कहा जाता है और ऐसा वर्ग जो घटना का जवाब देता है / प्राप्त करता है उसे ग्राहक कहा जाता है। इवेंट में कम से कम एक सब्सक्राइबर होना चाहिए जो कि इवेंट कभी नहीं बढ़ा है।
डेलिगेट्स का उपयोग ईवेंट घोषित करने के लिए किया जाता है।
सार्वजनिक प्रतिनिधि शून्य प्रिंट करें ();
इवेंट PrintNumbers myEvent;
Q # 32) घटनाक्रम के साथ डेलिगेट्स का उपयोग कैसे करें?
उत्तर: प्रतिनिधि का उपयोग घटनाओं को बढ़ाने और उन्हें संभालने के लिए किया जाता है। हमेशा एक प्रतिनिधि को पहले घोषित करने की आवश्यकता होती है और फिर घटनाक्रम घोषित किया जाता है।
हमें एक उदाहरण देखें:
रोगी नामक एक वर्ग पर विचार करें। दो अन्य वर्गों पर विचार करें, बीमा, और बैंक जिसमें रोगी वर्ग से रोगी की मृत्यु की जानकारी की आवश्यकता होती है। यहां, बीमा और बैंक ग्राहक हैं और रोगी वर्ग प्रकाशक बन जाता है। यह मृत्यु की घटना को ट्रिगर करता है और अन्य दो वर्गों को घटना प्राप्त करनी चाहिए।
namespace ConsoleApp2 { public class Patient { public delegate void deathInfo();//Declaring a Delegate// public event deathInfo deathDate;//Declaring the event// public void Death() { deathDate(); } } public class Insurance { Patient myPat = new Patient(); void GetDeathDetails() { //-------Do Something with the deathDate event------------// } void Main() { //--------Subscribe the function GetDeathDetails----------// myPat.deathDate += GetDeathDetails; } } public class Bank { Patient myPat = new Patient(); void GetPatInfo () { //-------Do Something with the deathDate event------------// } void Main() { //--------Subscribe the function GetPatInfo ----------// myPat.deathDate += GetPatInfo; } } }
क्यू # 33) डेलिगेट्स के विभिन्न प्रकार क्या हैं?
उत्तर: विभिन्न प्रकार के प्रतिनिधि हैं:
Android के लिए शीर्ष 5 एमपी डाउनलोडर
- एकल प्रतिनिधि : एक प्रतिनिधि जो एक एकल विधि कह सकता है।
- मल्टीकास्ट डेलिगेट : एक प्रतिनिधि जो कई तरीकों को कॉल कर सकता है। + - - ऑपरेटरों को क्रमशः सदस्यता और सदस्यता समाप्त करने के लिए उपयोग किया जाता है।
- सामान्य प्रतिनिधि : इसे परिभाषित करने के लिए प्रतिनिधि के उदाहरण की आवश्यकता नहीं है। यह तीन प्रकार के होते हैं, एक्शन, फंक और प्रेडिकेट।
- कार्य - प्रतिनिधियों और घटनाओं के उपरोक्त उदाहरण में, हम कार्रवाई कीवर्ड का उपयोग करके प्रतिनिधि और घटना की परिभाषा को बदल सकते हैं। एक्शन प्रतिनिधि एक ऐसी विधि को परिभाषित करता है जिसे तर्कों पर बुलाया जा सकता है लेकिन परिणाम नहीं देता है
सार्वजनिक प्रतिनिधि शून्य मृत्यु ();
सार्वजनिक घटना मृत्युइन्फो मृत्यु;
// एक्शन की जगह //
सार्वजनिक कार्यक्रम एक्शन मृत्यु;
स्पष्ट रूप से कार्रवाई एक प्रतिनिधि को संदर्भित करती है।
-
- कार्यों - एक फंक प्रतिनिधि एक विधि को परिभाषित करता है जिसे तर्कों पर बुलाया जा सकता है और परिणाम देता है।
फंक मायडेल वैसा ही है प्रतिनिधि बूल myDel (int a, string b);
-
- विधेय - एक विधि को परिभाषित करता है जिसे तर्कों पर बुलाया जा सकता है और हमेशा बूल लौटाता है।
MyDel को समर्पित करें वैसा ही है प्रतिनिधि बूल myDel (स्ट्रिंग एस);
क्यू # 34) मल्टीकास्ट डेलिगेट्स का क्या मतलब है?
उत्तर: एक प्रतिनिधि जो एक से अधिक तरीकों की ओर इशारा करता है, उसे मल्टीकास्ट डेलिगेट कहा जाता है। मल्टीकास्टिंग + और + = ऑपरेटर का उपयोग करके प्राप्त किया जाता है।
Q # 32 से उदाहरण पर विचार करें।
के लिए दो ग्राहक हैं deathEvent, GetPatInfo , तथा GetDeathDetails । और इसलिए हमने + = ऑपरेटर का उपयोग किया है। इसका मतलब है जब भी MyDel कहा जाता है, दोनों ग्राहकों को बुलाया जाता है। प्रतिनिधियों को उस क्रम में बुलाया जाएगा जिसमें उन्हें जोड़ा जाता है।
Q # 35) पब्लिशर्स और सब्सक्राइबर्स को इवेंट्स में समझाएँ।
उत्तर: प्रकाशक एक वर्ग है जो विभिन्न प्रकार के अन्य वर्गों के संदेश प्रकाशित करने के लिए जिम्मेदार है। उपर्युक्त प्रश्नों में चर्चा के अनुसार संदेश कुछ भी नहीं है।
से उदाहरण Q # 32 में, क्लास रोगी प्रकाशक वर्ग है। यह एक घटना उत्पन्न कर रहा है मृत्यु , जो अन्य वर्गों द्वारा प्राप्त किया जाता है।
सदस्य उस प्रकार के संदेश को कैप्चर करते हैं जिसमें वह रुचि रखता है। फिर से, से उदाहरण Q # 32 के वर्ग बीमा और बैंक के सदस्य हैं। वे घटना में रुचि रखते हैं मृत्यु प्रकार का शून्य ।
Q # 36) सिंक्रोनस और एसिंक्रोनस ऑपरेशन क्या हैं?
उत्तर: सिंक्रोनाइज़ेशन एक थ्रेड-सुरक्षित कोड बनाने का एक तरीका है, जहाँ केवल एक थ्रेड किसी भी समय संसाधन तक पहुँच सकता है। अतुल्यकालिक कॉल कार्यक्रम के प्रवाह के साथ जारी रखने से पहले विधि के पूरा होने की प्रतीक्षा करता है।
जब उपयोगकर्ता केवल एक थ्रेड का उपयोग करेगा, तब समकालिक प्रोग्रामिंग UI संचालन को बुरी तरह प्रभावित करता है। एसिंक्रोनस ऑपरेशन में, विधि कॉल तुरंत वापस आ जाएगी ताकि कार्यक्रम अन्य संचालन कर सके, जबकि तथाकथित विधि कुछ स्थितियों में अपना काम पूरा करती है।
C # में, Async और Await कीवर्ड्स का उपयोग अतुल्यकालिक प्रोग्रामिंग को प्राप्त करने के लिए किया जाता है। तुल्यकालिक प्रोग्रामिंग पर अधिक जानकारी के लिए क्यू # 43 को देखें।
Q # 37) C # में परावर्तन क्या है?
उत्तर: परावर्तन रनटाइम के दौरान विधानसभा के मेटाडेटा तक पहुंचने के लिए एक कोड की क्षमता है। एक कार्यक्रम स्वयं पर प्रतिबिंबित करता है और उपयोगकर्ता को सूचित करने या उसके व्यवहार को संशोधित करने के लिए मेटाडेटा का उपयोग करता है। मेटाडेटा से तात्पर्य वस्तुओं, विधियों के बारे में जानकारी से है।
Namepace System.Reflection में वे विधियाँ और कक्षाएं हैं जो सभी लोड किए गए प्रकारों और विधियों की जानकारी का प्रबंधन करती हैं। यह मुख्य रूप से विंडोज़ अनुप्रयोगों के लिए उपयोग किया जाता है, उदाहरण के लिए , एक विंडोज़ के रूप में एक बटन के गुणों को देखने के लिए।
क्लास रिफ्लेक्शन के मेंबरइन्फो ऑब्जेक्ट का इस्तेमाल क्लास से जुड़ी विशेषताओं को खोजने के लिए किया जाता है।
प्रतिबिंब दो चरणों में कार्यान्वित किया जाता है, पहले, हमें ऑब्जेक्ट का प्रकार मिलता है, और फिर हम सदस्यों को पहचानने के लिए इस तरह के तरीकों और गुणों का उपयोग करते हैं।
एक वर्ग का प्रकार पाने के लिए, हम बस का उपयोग कर सकते हैं,
Mytype = myClass.GetType () टाइप करें;
एक बार जब हमारे पास एक प्रकार की कक्षा होती है, तो कक्षा के बारे में अन्य जानकारी आसानी से प्राप्त की जा सकती है।
System.Reflection.MemberInfo जानकारी = mytype.GetMethod ('AddNumbers');
उपरोक्त कथन नाम के साथ एक विधि खोजने की कोशिश करता है AddNumbers कक्षा मैं मेरी कक्षा ।
Q # 38) जेनेरिक क्लास क्या है?
उत्तर: जेनेरिक या जेनेरिक क्लास का उपयोग उन कक्षाओं या वस्तुओं को बनाने के लिए किया जाता है जिनमें कोई विशिष्ट डेटा प्रकार नहीं होता है। डेटा प्रकार को रनटाइम के दौरान असाइन किया जा सकता है, अर्थात जब यह प्रोग्राम में उपयोग किया जाता है।
उदाहरण के लिए:
इसलिए, उपरोक्त कोड से, हम स्ट्रिंग और इंट की तुलना करने के लिए, शुरू में 2 तुलना विधियों को देखते हैं।
अन्य डेटा प्रकार पैरामीटर तुलना के मामले में, कई अतिभारित तरीकों को बनाने के बजाय, हम एक सामान्य वर्ग बना सकते हैं और एक स्थानापन्न डेटा प्रकार पास कर सकते हैं, यानी टी। तो, टी एक डेटाटाइप के रूप में कार्य करता है जब तक कि यह मुख्य रूप से उपयोग नहीं किया जाता है () विधि ।
Q # 39) एक्सेसर गुण समझें और सेट करें?
उत्तर: गेट एंड सेट को एक्सेसर्स कहा जाता है। ये गुणों द्वारा उपयोग किए जाते हैं। संपत्ति एक निजी क्षेत्र के मूल्य को पढ़ने, लिखने के लिए एक तंत्र प्रदान करती है। उस निजी क्षेत्र तक पहुँचने के लिए, इन एक्सेसरों का उपयोग किया जाता है।
प्रॉपर्टी की वैल्यू लौटाने के लिए प्रॉपर्टी का इस्तेमाल किया जाता है
सेट संपत्ति अभिगमक का उपयोग मूल्य निर्धारित करने के लिए किया जाता है।
सेट और सेट का उपयोग निम्नानुसार है:
क्यू # 40) एक धागा क्या है? मल्टीथ्रेडिंग क्या है?
उत्तर: एक थ्रेड निर्देशों का एक सेट है जिसे निष्पादित किया जा सकता है, जो हमारे प्रोग्राम को समवर्ती प्रसंस्करण करने में सक्षम करेगा। समवर्ती प्रसंस्करण हमें एक बार में एक से अधिक ऑपरेशन करने में मदद करता है। डिफ़ॉल्ट रूप से, C # में केवल एक धागा है। लेकिन मूल धागे के समानांतर कोड को निष्पादित करने के लिए अन्य धागे बनाए जा सकते हैं।
धागे का एक जीवन चक्र होता है। यह तब शुरू होता है जब कोई थ्रेड क्लास बनाया जाता है और निष्पादन के बाद समाप्त हो जाता है। प्रणाली थ्रेड्स बनाने और इसके सदस्यों का उपयोग करने के लिए नाम नाम स्थान को शामिल करने की आवश्यकता है।
थ्रेड क्लास का विस्तार करके थ्रेड्स बनाए जाते हैं। शुरू() थ्रेड निष्पादन शुरू करने के लिए विधि का उपयोग किया जाता है।
//CallThread is the target method// ThreadStart methodThread = new ThreadStart(CallThread); Thread childThread = new Thread(methodThread); childThread.Start();
C # एक समय में एक से अधिक कार्य निष्पादित कर सकता है। यह अलग-अलग थ्रेड द्वारा विभिन्न प्रक्रियाओं को संभालकर किया जाता है। इसे मल्टीट्रेडिंग कहा जाता है।
कई थ्रेड विधियाँ हैं जिनका उपयोग बहु-थ्रेडेड संचालन को संभालने के लिए किया जाता है:
प्रारंभ, स्लीप, एबॉर्ट, सस्पेंड, रिज्यूमे और ज्वाइन करें।
इन विधियों में से अधिकांश स्व-व्याख्यात्मक हैं।
Q # 41) थ्रेड क्लास के कुछ गुणों के नाम बताइए।
उत्तर: थ्रेड क्लास के कुछ गुण हैं:
- जिंदा है - एक थ्रेड एक्टिव होने पर वैल्यू ट्रू होता है।
- नाम - धागे का नाम वापस कर सकते हैं। इसके अलावा, थ्रेड के लिए एक नाम सेट कर सकते हैं।
- वरीयता - ऑपरेटिंग सिस्टम द्वारा निर्धारित कार्य का प्राथमिकता मूल्य देता है।
- IsBackground - एक मान प्राप्त करता है या सेट करता है जो इंगित करता है कि क्या थ्रेड एक पृष्ठभूमि प्रक्रिया या अग्रभूमि होना चाहिए।
- थ्रेडस्टैट - धागा राज्य का वर्णन करता है।
क्यू # 42) एक थ्रेड के विभिन्न राज्य क्या हैं?
उत्तर: एक धागे की विभिन्न अवस्थाएँ हैं:
- प्रारंभ नहीं किया गया - धागा बनाया है।
- दौड़ना - थ्रेड निष्पादन शुरू करता है।
- WaitSleepJoin - थ्रेड कॉल स्लीप, कॉल किसी अन्य ऑब्जेक्ट पर प्रतीक्षा और कॉल अन्य थ्रेड पर शामिल होते हैं।
- बर्खास्त कर दिया - थ्रेड को निलंबित कर दिया गया है।
- गर्भपात - थ्रेड मर चुका है, लेकिन राज्य में नहीं बदला गया है।
- रोका हुआ - धागा बंद हो गया है।
क्यू # 43) Async और Await क्या हैं?
उत्तर: Async और Await कीवर्ड का उपयोग C में एसिंक्रोनस मेथड बनाने के लिए किया जाता है।
अतुल्यकालिक प्रोग्रामिंग का मतलब है कि प्रक्रिया मुख्य या अन्य प्रक्रियाओं से स्वतंत्र रूप से चलती है।
Async और Await का उपयोग नीचे दिखाया गया है:
- Async कीवर्ड का उपयोग विधि घोषणा के लिए किया जाता है।
- गणना एक प्रकार के इंट का कार्य है, जो विधि की गणना करता है गणना ()।
- कैलकुलेटकाउंट () निष्पादन शुरू करता है और कुछ की गणना करता है।
- स्वतंत्र काम मेरे धागे पर किया जाता है और फिर प्रतीक्षा विवरण पर पहुँच जाता है।
- यदि कैलकुलेटकाउंट समाप्त नहीं हुआ है, तो myMethod अपनी कॉलिंग विधि पर वापस आ जाएगा, इस प्रकार मुख्य धागा अवरुद्ध नहीं होगा।
- यदि गणना गणना पहले ही समाप्त हो गई है, तो हमारे पास परिणाम उपलब्ध है जब नियंत्रण गणना की प्रतीक्षा में पहुंचता है। तो अगला चरण उसी धागे में जारी रहेगा। हालांकि, यह उपरोक्त मामले की स्थिति नहीं है जहां 1 सेकंड की देरी शामिल है।
Q # 44) डेडलॉक क्या है?
उत्तर: एक डेडलॉक एक ऐसी स्थिति है जहां एक प्रक्रिया अपने निष्पादन को पूरा करने में सक्षम नहीं है क्योंकि दो या दो से अधिक प्रक्रियाएं एक-दूसरे के खत्म होने की प्रतीक्षा कर रही हैं। यह आमतौर पर मल्टी-थ्रेडिंग में होता है।
यहां एक प्रक्रिया द्वारा एक साझा संसाधन रखा जा रहा है और एक अन्य प्रक्रिया इसे जारी करने के लिए पहली प्रक्रिया की प्रतीक्षा कर रही है और बंद वस्तु को पकड़े हुए धागा किसी अन्य प्रक्रिया के पूरा होने की प्रतीक्षा कर रहा है।
नीचे दिए गए उदाहरण पर विचार करें:
- कार्य निष्पादित करें objB तक पहुँचता है और 1 सेकंड की प्रतीक्षा करता है।
- इस बीच, PerformtaskB ObjA तक पहुँचने की कोशिश करता है।
- 1 सेकंड के बाद, PeformtaskA ObjA को एक्सेस करने की कोशिश करता है जो PerformtaskB द्वारा लॉक किया गया है।
- PerformtaskB ObjB तक पहुंचने की कोशिश करता है जो PerformtaskA द्वारा लॉक किया गया है।
यह डेडलॉक बनाता है।
क्यू # 45) एल समझाएं ock , पर नज़र रखता है , तथा म्युटेक्स थ्रेडिंग में वस्तु।
उत्तर: लॉक कीवर्ड यह सुनिश्चित करता है कि किसी भी समय केवल एक धागा कोड के किसी विशेष खंड में प्रवेश कर सकता है। ऊपरोक्त में उदाहरण , लॉक (ओब्जा) का अर्थ है कि जब तक यह प्रक्रिया जारी नहीं हो जाती, तब तक ओब्जा पर ताला लगाया जाता है, कोई अन्य धागा ओब्जा तक पहुंच नहीं सकता है।
म्यूटेक्स भी एक लॉक की तरह है लेकिन यह एक समय में कई प्रक्रियाओं में काम कर सकता है। WaitOne () का उपयोग लॉक करने के लिए किया जाता है और रिलीज को बंद करने के लिए ReleaseMutex () का उपयोग किया जाता है। लेकिन म्यूटेक्स लॉक की तुलना में धीमा है क्योंकि इसे प्राप्त करने और इसे जारी करने में समय लगता है।
Monitor.Enter और Monitor.Exit औजार आंतरिक रूप से लॉक होते हैं। एक ताला मॉनिटर्स के लिए एक शॉर्टकट है। लॉक (objA) आंतरिक रूप से कॉल करता है।
Monitor.Enter(ObjA); try { } Finally {Monitor.Exit(ObjA));}
Q # 46) रेस कंडीशन क्या है?
वर्षों: रेस की स्थिति तब होती है जब दो धागे एक ही संसाधन तक पहुंचते हैं और एक ही समय में इसे बदलने की कोशिश कर रहे हैं। जो धागा पहले संसाधन तक पहुंचने में सक्षम होगा, उसकी भविष्यवाणी नहीं की जा सकती है।
यदि हमारे पास दो थ्रेड्स, T1 और T2 हैं, और वे एक्स नामक एक साझा संसाधन तक पहुंचने का प्रयास कर रहे हैं और यदि दोनों थ्रेड्स X का मान लिखने का प्रयास करते हैं, तो X को लिखा गया अंतिम मान बच जाएगा।
क्यू # 47) थ्रेड पूलिंग क्या है?
वर्षों: थ्रेड पूल थ्रेड्स का एक संग्रह है। इन थ्रेड्स का उपयोग प्राथमिक थ्रेड को परेशान किए बिना कार्यों को करने के लिए किया जा सकता है। थ्रेड कार्य पूरा करने के बाद, थ्रेड पूल में लौटता है।
System.Threading.ThreadPool नेमस्पेस में ऐसी कक्षाएं हैं जो पूल और उसके संचालन में थ्रेड्स का प्रबंधन करती हैं।
System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(SomeTask));
उपरोक्त पंक्ति कार्य को पंक्तिबद्ध करती है। कुछ तरीके विधियों में ऑब्जेक्ट का एक पैरामीटर होना चाहिए।
Q # 48) सीरियलाइजेशन क्या है?
उत्तर: सीरियलाइज़ेशन कोड को अपने बाइनरी प्रारूप में परिवर्तित करने की एक प्रक्रिया है। एक बार जब यह बाइट्स में परिवर्तित हो जाता है, तो इसे आसानी से एक डिस्क या ऐसे किसी भी स्टोरेज डिवाइस में संग्रहीत और लिखा जा सकता है। जब हम कोड के मूल स्वरूप को नहीं खोना चाहते हैं तो सीरियल मुख्य रूप से उपयोगी होते हैं और इसे भविष्य में कभी भी प्राप्त किया जा सकता है।
कोई भी वर्ग जो विशेषता (Serializable) के साथ चिह्नित है, उसे द्विआधारी रूप में परिवर्तित किया जाएगा।
बाइनरी फॉर्म से C # कोड प्राप्त करने की रिवर्स प्रक्रिया को Deserialization कहा जाता है।
किसी ऑब्जेक्ट को सीरियल करने के लिए हमें सीरीज़ किए जाने वाले ऑब्जेक्ट की आवश्यकता होती है, एक स्ट्रीम जिसमें सीरियललाइज़्ड ऑब्जेक्ट और नेमस्पेस सिस्टम हो सकता है। रनटाइम। सीरीज़लाइज़ेशन में सीरियललाइज़ेशन के लिए कक्षाएं शामिल हो सकती हैं।
Q # 49) सीरियलाइजेशन के प्रकार क्या हैं?
उत्तर: विभिन्न प्रकार के क्रमांकन हैं:
- XML क्रमांकन - यह XML दस्तावेज़ में सभी सार्वजनिक गुणों को क्रमबद्ध करता है। चूंकि डेटा XML प्रारूप में है, इसलिए इसे विभिन्न स्वरूपों में आसानी से पढ़ा और हेरफेर किया जा सकता है। कक्षाएं System.sml.Serialization में रहती हैं।
- साबुन - कक्षाएं System.Runtime.Serialization में निवास करती हैं। एक्सएमएल के समान है लेकिन एक पूर्ण एसओएपी अनुरूप लिफाफा तैयार करता है जिसका उपयोग किसी भी प्रणाली द्वारा किया जा सकता है जो एसओएपी को समझता है।
- बाइनरी सीरियल - किसी भी कोड को उसके बाइनरी फॉर्म में बदलने की अनुमति देता है। सार्वजनिक और गैर-सार्वजनिक संपत्तियों को अनुक्रमित और पुनर्स्थापित कर सकता है। यह तेज है और कम जगह घेरता है।
Q # 50) XSD फाइल क्या है?
उत्तर: एक XSD फ़ाइल XML स्कीमा परिभाषा के लिए है। यह XML फ़ाइल के लिए एक संरचना देता है। इसका मतलब है कि यह उन तत्वों को तय करता है जो एक्सएमएल के पास होना चाहिए और किस क्रम में और कौन से गुण मौजूद होने चाहिए। एक्सएमएल से जुड़ी एक्सएमएल फाइल के बिना, एक्सएमएल में कोई टैग, कोई भी विशेषता और कोई भी तत्व हो सकते हैं।
Xsd.exe उपकरण फ़ाइलों को XSD प्रारूप में कनवर्ट करता है। सी # कोड के सीरियलाइजेशन के दौरान, वर्गों को एक्सएसडी। Exe द्वारा एक्सएसडी आज्ञाकारी प्रारूप में बदल दिया जाता है।
निष्कर्ष
सी # दिन प्रति दिन तेजी से बढ़ रहा है और यह सॉफ्टवेयर परीक्षण उद्योग में एक प्रमुख भूमिका निभाता है।
मुझे यकीन है कि यह लेख साक्षात्कार के लिए आपकी तैयारी को बहुत आसान बना देगा और आपको अधिकांश सी # विषयों के ज्ञान की उचित मात्रा देगा।
आशा है कि आप आत्मविश्वास से किसी भी C # साक्षात्कार का सामना करने के लिए तैयार होंगे !!
अनुशंसित पाठ
- साक्षात्कार प्रश्न और उत्तर
- ईटीएल परीक्षण साक्षात्कार प्रश्न और उत्तर
- शीर्ष 50 सबसे लोकप्रिय CCNA साक्षात्कार प्रश्न और उत्तर
- शीर्ष 51 बूटस्ट्रैप साक्षात्कार प्रश्न और उत्तर
- शीर्ष 20+ .NET साक्षात्कार प्रश्न और उत्तर
- शीर्ष 50+ डेटाबेस साक्षात्कार प्रश्न और उत्तर
- कुछ मुश्किल मैनुअल परीक्षण प्रश्न और उत्तर
- 25 सर्वश्रेष्ठ चुस्त परीक्षण साक्षात्कार प्रश्न और उत्तर