आप सी # में एक शून्य से bool?
bool
कैसे परिवर्तित करते हैं?नलिका बूल कनवर्ट करें? बूल करने के लिए
मैं x.Value
या x.HasValue
की कोशिश की है ...
आप सी # में एक शून्य से bool?
bool
कैसे परिवर्तित करते हैं?नलिका बूल कनवर्ट करें? बूल करने के लिए
मैं x.Value
या x.HasValue
की कोशिश की है ...
का उपयोग कर आप अंततः है क्या अशक्त तय करने के लिए विशिष्ट मानों के लिए परीक्षण कर सकते हैं बूल का प्रतिनिधित्व करेगा। यदि null
false
होना चाहिए, आप ऐसा कर सकते हैं:
bool newBool = x.HasValue ? x.Value : false;
या:
bool newBool = x.HasValue && x.Value;
या:
bool newBool = x ?? false;
यदि आप करते हैं तो' VB.NET' में क्या होता है: 'बूलेन = सीबीूल (x)' के रूप में नया नया बूल? 'शून्य' को 'झूठी' में परिवर्तित किया जाएगा या अपवाद फेंक दिया जाएगा? –
क्या यह संकलन भी करता है? –
हां यह करता है - यह 'लिंक' कथन 'कहां' खंड के लिए 'त्वरित कार्रवाई' में सुझाया गया था, मुझे समझ में नहीं आया कि लिनक के अंदर 'उठाए गए ऑपरेटर' क्यों काम नहीं कर रहे थे (शायद यह सिर्फ वीबी.नेट है ?) - मैंने अभी परीक्षण किया है और यह एक अवैध कास्ट अपवाद फेंक देता है –
आप उपयोग कर सकते हैं null-coalescing operator: x ?? something
, जहां something
एक बूलियन मान है कि आप अगर x
null
है का उपयोग करना चाहते है।
उदाहरण:
bool? myBool = null;
bool newBool = myBool ?? false;
newBool
झूठी हो जाएगा।
तो, 'बूल? myBool = शून्य; बूल न्यूबूल = मायबूल ?? झूठा; ' – CaffGeek
कुछ की तरह:
if (bn.HasValue)
{
b = bn.Value
}
पूरा तरीका होगा:
bool b1;
bool? b2 = ???;
if (b2.HasValue)
b1 = b2.Value;
या आप
bool b3 = (b2 == true); // b2 is true, not false or null
सबसे आसान तरीका है अशक्त कोलेसिंग ऑपरेटर का उपयोग करने के लिए है: ??
bool? x = ...;
if (x ?? true) {
}
??
निरर्थक मानों के साथ प्रदान की गई शून्य अभिव्यक्ति की जांच करके काम करता है। यह ??
bool? a = null;
bool b = Convert.toBoolean(a);
के दाईं तरफ एक्सप्रेशन का उपयोग करेंगे नल अभिव्यक्ति एक मूल्य यह मूल्य किसी और का उपयोग किया जाएगा है, तो आप Nullable{T}
GetValueOrDefault()
विधि का उपयोग कर सकते हैं। अगर शून्य हो तो यह झूठी वापसी होगी।
bool? nullableBool = null;
bool actualBool = nullableBool.GetValueOrDefault();
मुझे लगता है कि यह समेकन और सी # नोब-मित्रता के बीच सबसे अच्छा संकर है। यह भी ध्यान रखें कि एक अधिभार है जहां आप डिफ़ॉल्ट मान निर्दिष्ट कर सकते हैं। – Phil
मुझे इस विधि का उपयोग करना पसंद है, क्योंकि अगर 'स्टेटमेंट' बना सकते हैं तो बयान 'अगर (nullableBool.GetValueOrDefault()) ' –
आप एक if
बयान में bool?
उपयोग करने के लिए जा रहे हैं, मुझे लगता है ऐसा करने के लिए सबसे आसान काम या तो true
या false
के खिलाफ तुलना करने के लिए है।
bool? b = ...;
if (b == true) { Debug.WriteLine("true"; }
if (b == false) { Debug.WriteLine("false"; }
if (b != true) { Debug.WriteLine("false or null"; }
if (b != false) { Debug.WriteLine("true or null"; }
बेशक, आप भी नल के खिलाफ तुलना कर सकते हैं।
bool? b = ...;
if (b == null) { Debug.WriteLine("null"; }
if (b != null) { Debug.WriteLine("true or false"; }
if (b.HasValue) { Debug.WriteLine("true or false"; }
//HasValue and != null will ALWAYS return the same value, so use whatever you like.
आप इसे एक bool कन्वर्ट करने के लिए आवेदन के अन्य भागों में पर पारित करने के लिए जा रहे हैं, तो अशक्त संगठित होना ऑपरेटर आप क्या चाहते है।
bool? b = ...;
bool b2 = b ?? true; // null becomes true
b2 = b ?? false; // null becomes false
यदि आप पहले से ही शून्य के लिए चेक कर चुके हैं, और आप केवल मान चाहते हैं, तो वैल्यू प्रॉपर्टी एक्सेस करें।
bool? b = ...;
if(b == null)
throw new ArgumentNullException();
else
SomeFunc(b.Value);
यह थीम पर एक दिलचस्प भिन्नता है। पहली और दूसरी नज़र में आप मान लेंगे कि असली शाखा ली गई है। ऐसा नहीं!
bool? flag = null;
if (!flag ?? true)
{
// false branch
}
else
{
// true branch
}
जिस तरह से आप क्या चाहते हैं पाने के लिए यह करने के लिए है:
if (!(flag ?? true))
{
// false branch
}
else
{
// true branch
}
इस उत्तर उपयोग स्थिति के लिए है जब आप बस एक हालत में bool?
परीक्षण करना चाहते हैं। इसका उपयोग सामान्य bool
प्राप्त करने के लिए भी किया जा सकता है। यह एक वैकल्पिक I personnaly है coalescing operator ??
से पढ़ने के लिए आसान लगता है।
आप एक शर्त परीक्षण करना चाहते हैं, तो आप इस
bool? nullableBool = someFunction();
if(nullableBool == true)
{
//Do stuff
}
ऊपर उपयोग कर सकते हैं सच ही अगर bool?
सच है किया जाएगा।
आप भी इस का उपयोग कर सकते एक bool?
bool? nullableBool = someFunction();
bool regularBool = nullableBool == true;
डायन से एक नियमित रूप से bool
आवंटित करने के लिए
bool? nullableBool = someFunction();
bool regularBool = nullableBool ?? false;
के रूप में ही इसे +1 करता है, तो शीर्षक था "सी # कैसे bool कन्वर्ट करने के लिए है जाएगा बूल करने के लिए ?? " – bevacqua