इसलिए मेरा प्रोफेसर मेरे द्वारा काम कर रहे एक प्रोजेक्ट पर कुछ प्रतिक्रिया दे रहा था। उन्होंने इस कोड के लिए कुछ निशान दिए:
if (comboVendor.SelectedIndex == 0) {
createVendor cv = new createVendor();
cv.ShowDialog();
loadVendors();
}
यह कॉम्बोक्स "इंडेक्स चेंजेड" हैंडलर में है। इसका उपयोग तब किया जाता है जब उपयोगकर्ता एक नया विक्रेता बनाना चाहता है, मेरा शीर्ष विकल्प (सूचकांक 0, जो कभी नहीं बदलता है) "नया विक्रेता बनाएँ" संवाद खोलता है। तो मेरे कॉम्बो बॉक्स की सामग्री इस तरह दिखती है:
Create New Vendor...
Existing Vendor
Existing Vendor 2
Existing Vendor 3
उनकी समस्या पहली पंक्ति कोड के साथ है:
if (comboVendor.SelectedIndex == 0)
उनका दावा है कि 0 एक स्थिर होना चाहिए, और वास्तव में मुझे इस वजह से चिह्नित करना चाहिए। उनका दावा है कि मुझे अपने कोड में शाब्दिक का उपयोग नहीं करना चाहिए।
बात यह है, मुझे समझ में नहीं आता है कि मैं उस स्थिति को एक निरंतर क्यों बनाना चाहता हूं। यह सूचकांक कभी नहीं बदलेगा, न ही यह कुछ ऐसा है जिसे आपको ट्विक करने की आवश्यकता होगी। यह स्मृति की बर्बादी की तरह लगता है स्मृति में एक भी 0 रखने के लिए जो एक बहुत विशिष्ट स्थिति के लिए उपयोग किया जाता है और कभी नहीं बदलता है।
-1
में str.indexOf(substr) != -1
"के लिए str
होता है substr
" prefectly उचित है। लेकिन यहां, 0 का अर्थ न तो स्पष्ट है (एक नया विक्रेता बनाने के संबंध क्या है?) और न ही वास्तव में स्थिर (यदि एक नया विक्रेता बनाने का तरीका बदलता है?)।
int.Zero
उसे खुश करने के बजाय उपयोग कर सकते हैं :)