मैंने विजुअल स्टूडियो के बारे में कुछ अनोखा देखा है। , अबविजुअल स्टूडियो शून्य संदर्भ चेतावनी - क्यों कोई त्रुटि नहीं?
class Foo
{
public void Bar()
{
string s;
int i = s.Length;
}
}
अभी यह एक त्रुटि के रूप में s.Length
में s
का प्रतीक होगा, कि "Use of unassigned local variable 's'
": सबसे पहले, एक समारोह में कहीं इस (सी #) लिखकर देखें। दूसरी ओर, इस कोड का प्रयास करें:
class Foo
{
private string s;
public void Bar()
{
int i = s.Length;
}
}
यह संकलन होगा, और एक चेतावनी के साथ private string s
में s
रेखांकित करते हुए कहा कि "Field 'Foo.s' is never assigned to, and will always have its default value null
"।
अब, यदि वीएस स्मार्ट है और जानता है कि यह हमेशा शून्य होगा, तो दूसरी लंबाई में इसकी लंबाई प्राप्त करने में कोई त्रुटि क्यों नहीं है? मेरा मूल अनुमान था, "यह केवल संकलन त्रुटि देता है यदि संकलक बस अपना काम पूरा नहीं कर सकता है। चूंकि कोड तकनीकी रूप से तब तक चलता है जब तक आप बार() को कभी भी कॉल नहीं करते हैं, यह केवल एक चेतावनी है।" सिवाय इसके कि स्पष्टीकरण पहले उदाहरण से अमान्य है। जब तक आप बार() को कभी भी कॉल नहीं करते हैं तब तक आप त्रुटि के बिना कोड चला सकते हैं। तो क्या देता है? बस एक निरीक्षण, या मैं कुछ याद कर रहा हूँ?
नहीं वैश्विक, यह एक उदाहरण है -खेत। –