शून्य या खाली संग्रह लौटाना: सर्वोत्तम अभ्यास
किसी संग्रह को रिटर्न वैल्यू प्रकार के रूप में लौटाने वाली विधि को डिज़ाइन करते समय, एक प्रश्न उठता है: क्या इसे शून्य या खाली संग्रह लौटाना चाहिए? सर्वोत्तम अभ्यास दृढ़तापूर्वक सभी मामलों में एक खाली संग्रह वापस करने की अनुशंसा करता है।
खाली संग्रह क्यों चुनें?
शून्य लौटना एक बुरा अभ्यास है क्योंकि इससे अनावश्यक कोड जटिलता और संभावित रनटाइम त्रुटियां होती हैं। उदाहरण के लिए, यदि आप संग्रह संपत्ति के लिए शून्य लौटाते हैं:
if(myInstance.CollectionProperty != null)
{
foreach(var item in myInstance.CollectionProperty)
/* 如果 CollectionProperty 为 null,此代码可能会失败 */
}
यदि myInstance.CollectionProperty वास्तव में शून्य है तो यह कोड अपवाद का कारण बन सकता है। इसके बजाय, एक खाली संग्रह वापस करना बेहतर है, यह सुनिश्चित करते हुए कि उपरोक्त कोड अभी भी त्रुटियों के बिना निष्पादित हो सकता है।
विशेषता सर्वोत्तम अभ्यास
संग्रह लौटाने वाली संपत्तियों के लिए, संपत्ति को केवल एक बार प्रारंभ करने की अनुशंसा की जाती है। यह संपत्ति वाले वर्ग के कंस्ट्रक्टर के दौरान किया जा सकता है:
public List Foos { public get; private set; }
public Bar() { Foos = new List(); }
C# 6 के साथ, अधिक संक्षिप्त संस्करण उपलब्ध है:
public List Foos { get; } = new List();
विधि सर्वोत्तम अभ्यास
संग्रह लौटाने वाली विधियों के लिए, यदि वास्तविक संग्रह मौजूद नहीं है, तो एक खाली संग्रह लौटाया जाता है। आप इस उद्देश्य के लिए Enumerable.Empty
public IEnumerable GetMyFoos()
{
return InnerGetFoos() ?? Enumerable.Empty();
}
यह दृष्टिकोण सुनिश्चित करता है कि भले ही InnerGetFoos() शून्य लौटाता है, फिर भी विधि संभावित त्रुटियों को रोकते हुए एक खाली संग्रह लौटाती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3