c# - When I try to use a variable in an if() it says that I am using an unassigned variable -
स्ट्रिंग x1; Dispatcher.Invoke (नई एक्शन (() = & gt; x1 = lbl1.Content.ToString ())); (मैंने ऐसा किया क्योंकि मैं धागे का उपयोग कर रहा हूँ) (तब जब मैं इसे किसी एक में उपयोग करने की कोशिश करता हूं)
यदि (x1 == " एक्स ") {} (मुझे यह कहने में त्रुटि मिलती है कि मैं एक असाइन किए गए वैरिएबल का उपयोग कर रहा हूँ)
क्या कोई मुझे बता सकता है कि ऐसा क्यों हो रहा है?
देखें:
स्ट्रिंग x1; // & lt; - बस घोषित, निर्दिष्ट नहीं किया गया / x1 को सौंपा गया है, लेकिन अलग थ्रेड में Dispatcher.Invoke (नई एक्शन (() = & gt; x1 = lbl1.Content.ToString ())); // यह हो सकता है, कि अलग धागा अभी तक समाप्त नहीं हुआ है, और // x1 अभी भी अनअसाइन किया गया है; इसलिए, संकलक चेतावनी दिखाता है कि यदि (x1 == "X") {} कुछ मामलों में, हालांकि, संकलक जो सिर्फ असाइनमेंट का पता लगाना , जैसे स्ट्रिंग x1; एक्शन एफ = () = & gt; {x1 = "एक्स"; }; च (); // & lt; - x1 को यहां सौंपा जाएगा // कंपाइलर ग़लती से यहाँ चेतावनी देता है कि x1 अनअसाइन किया गया है, लेकिन // (x1 == "X")
Comments
Post a Comment