मैंने हमेशा अपने स्ट्रिंग्स को NULL के लिए इनिशियलाइज़ किया है, इस सोच के साथ कि NULL का मतलब मान का अभाव है और "" या String.Empty एक वैल्यू वैल्यू है। मैंने कोड के कुछ और उदाहरण देखे हैं जहाँ String.Empty को डिफ़ॉल्ट मान माना जाता है या कोई मूल्य नहीं दर्शाता है। यह मुझे अजीब लगता है, सी # में नए जोड़े गए अशक्त प्रकारों के साथ ऐसा लगता है जैसे हम 'नो वैल्यू' का प्रतिनिधित्व करने के लिए NULL का उपयोग न करके स्ट्रिंग्स के साथ पीछे की ओर ले जा रहे हैं।
आप डिफॉल्ट इनिशलाइज़र के रूप में क्या उपयोग करते हैं और क्यों?
संपादित करें: उत्तर के आधार पर मैं अपने आगे के विचारों को आगे बढ़ाता हूं
त्रुटि से बचने के लिए यदि मान शून्य होना चाहिए, तो इसे
NULLपहली जगह पर सेट क्यों किया गया ? शायद उस जगह पर त्रुटि को पहचानना बेहतर होगा जहां यह आपके बाकी कोडबेस के माध्यम से इसे कवर करने के बजाय होता है?अशक्त जाँच से बचना यदि आप कोड में अशक्त जाँच करते-करते थक गए हैं, तो क्या यह अशक्त जाँच को रोकना बेहतर नहीं होगा? शायद स्ट्रिंग (या विस्तार!) उन्हें
NULLसुरक्षित बनाने के लिए स्ट्रिंग तरीके ? यदि आप लगातार उपयोग करते हैंString.Emptyऔर एक अशक्त होता है तो यह आपके सिस्टम में काम करने के लिए होता है, क्या आप जोड़ना शुरू करते हैंNULLभी तरह से चेक ?
मैं मदद नहीं कर सकता लेकिन इस राय पर लौट आया कि यह आलस्य है। यदि आप nullउसके डेटाबेस में इसके बजाय '' का प्रयोग करते हैं, तो कोई भी DBA आपको मूर्खतापूर्ण तरीके से नौ थप्पड़ मारेगा । मुझे लगता है कि प्रोग्रामिंग में समान सिद्धांत लागू होते हैं और सिर को उल्टा करने के लिए कोई ऐसा व्यक्ति होना चाहिए जो String.Emptyइसके बजाय उपयोग करता होNULL बिना मूल्य का प्रतिनिधित्व करने के करता हो।
संबंधित सवाल