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