अगर "blah" वेब / app.config में मौजूद नहीं है, तो configurationManager.AppSettings ["blah"] एक अपवाद फेंक देगा?
सुपर आलसी सवाल के लिए ईमानदारी से माफी।
NameValueCollection.Item
संपत्ति के लिए दस्तावेज
अगर "blah" वेब / app.config में मौजूद नहीं है, तो configurationManager.AppSettings ["blah"] एक अपवाद फेंक देगा?
सुपर आलसी सवाल के लिए ईमानदारी से माफी।
NameValueCollection.Item
संपत्ति के लिए दस्तावेज
जवाबों:
नहीं, लौटता है null
।
NameValueCollection.Item प्रॉपर्टी (स्ट्रिंग) के लिए MSDN प्रलेखन से :
सावधान
यह गुण निम्न मामलों में शून्य देता है: 1) यदि निर्दिष्ट कुंजी नहीं मिली है; और 2) यदि निर्दिष्ट कुंजी मिली है और उसका संबद्ध मूल्य शून्य है। यह संपत्ति दो मामलों के बीच अंतर नहीं करती है।
नहीं, लौटता है null
।
AppSettings NameValueCollection - NameValueCollection.Get पृष्ठ पर सावधानी के अनुसार है :
यह विधि निम्नलिखित मामलों में एक अशक्त संदर्भ (विजुअल बेसिक में कुछ भी नहीं) लौटाती है: 1) यदि निर्दिष्ट कुंजी नहीं मिली है; और 2) यदि निर्दिष्ट कुंजी पाई जाती है और इसका संबद्ध मूल्य एक अशक्त संदर्भ है (नथिंग इन विजुअल बेसिक)। यह विधि दो मामलों के बीच अंतर नहीं करती है।
नहीं, लौटता है null
।
ConfigurationManager.AppSettings
MSDN प्रलेखनNameValueCollection
से एक है :
प्राप्त विधि शून्य के बीच अंतर नहीं करती है जो कि लौटा दी जाती है क्योंकि निर्दिष्ट कुंजी नहीं मिली है और अशक्त है जो वापस आ गई है क्योंकि कुंजी के साथ जुड़ा हुआ मूल्य शून्य है।
(मेरा जोर)
अन्य जवाब आइटम की संपत्ति के लिए प्रलेखन का संदर्भ देते हैं। यह तुरंत स्पष्ट नहीं हो सकता है कि वे निम्नलिखित कोड स्निपेट को क्यों देख रहे हैं।
ConfigurationManager.AppSettings["blah"]
अनुक्रमणिका तक पहुँचने के लिए वर्ग ब्रैकेट सिंटैक्स का उपयोग C # में किया जाता है। ये विशेष गुण हैं जो एक वर्ग को उसी तरह अनुक्रमित करने की अनुमति देते हैं जो एक सरणी हो सकती है। NameValueCollection.Item प्रॉपर्टी की परिभाषा को देखते हुए , आप देखेंगे कि यह सामान्य प्रॉपर्टी सिंटैक्स का उपयोग नहीं करता है। इस प्रॉपर्टी को इंडेक्सर के रूप में परिभाषित करने के लिए इस कीवर्ड और इंडेक्सर मापदंडों का उपयोग किया जाता है।
public string this[
string name
] { get; set; }
दस्तावेज़ीकरण में, इंडेक्सर्स को स्पष्ट रूप से आइटम का नाम दिया गया है और पैरामीटर वर्ग कोष्ठक से घिरा हुआ है।
मेरे लिए यह स्पष्ट नहीं है कि ऐसे जवाब क्यों थे जो गेट विधि का संदर्भ देते थे - शायद एक दूसरे को बुलाता है?
किसी भी दर पर, सवाल का जवाब देने के लिए ...
यदि आप एक गैर-मौजूद कुंजी का उपयोग करते हैं तो एक अपवाद नहीं फेंका जाएगा - एक नल वापस कर दिया जाएगा।
यहाँ NameValueCollection.Item संपत्ति प्रलेखन से संबंधित अनुभाग है ।
यह गुण निम्न मामलों में शून्य देता है: 1) यदि निर्दिष्ट कुंजी नहीं मिली है; और 2) यदि निर्दिष्ट कुंजी मिली है और उसका संबद्ध मूल्य शून्य है। यह संपत्ति दो मामलों के बीच अंतर नहीं करती है।
हाँ http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings.aspx
संपादित करें: यह स्पष्ट रूप से गलत है। नीचे उपयोगी टिप्पणियों के लिए छोड़ दिया।
NameValueCollection
नहीं मिला है , तो अपवाद को फेंक दिया जाता है - अर्थात सिस्टम को कोई सेटिंग नहीं मिल सकती है । नाम मान संग्रह एक अपवाद को नहीं फेंकते हैं जब आप एक एकल मान को पुनः प्राप्त करने का प्रयास करते हैं जो मौजूद नहीं है ..