Sunday, 15 August 2010

c# - When will the CheckBox.IsChecked.HasValue become false? -


मैंने निम्नलिखित कई बार उपयोग किया है

  अगर (chkBox.IsChecked.HasValue & amp; ; & Amp; chkBox.IsChecked.Value)  

लेकिन क्यों? क्या स्थिति है जिसमें chkBox.IsChecked.HasValue झूठे हो जाता है?

मैंने चेकबॉक्स बनाकर और HasValue को देखने के लिए डिबगिंग की जांच की है।

कन्स्ट्रक्टर पर चेक किया गया, चेकबॉक्स चेक और अनचेक करने के बाद चेक किया गया लेकिन HasValue हमेशा सच साबित हुआ।

chkBox.IsChecked एक bool? है, जिसका अर्थ है कि यह एक बकाया बुलियन है (इसे null पर सेट किया जा सकता है) चेकबॉक्स में तीन मान हो सकते हैं: true , false और null

हैसवल्यू झूठे हो उस मामले में जो IsChecked को null पर सेट किया गया है।

इसलिए आप को चेक कर सकते हैं संपत्ति और मान को नल पर सेट करें, जैसे कि इस कोड में। हसवल्यू होगा झूठा होगा :

  chkBox.IsChecked = null;  

इसके अलावा, के उपयोग के बारे में दस्तावेज़ीकरण देखें।

Nullable & lt; T & gt; एक struct है, और वास्तव में यह null नहीं हो सकता है यह सिर्फ सी # में एक चाल है आप देखते हैं कि यह null है, लेकिन वास्तव में यह struct के साथ हैसवल्यू को false पर सेट है।

>

No comments:

Post a Comment