C # में bool
और Boolean
प्रकार में क्या अंतर है ?
C # में bool
और Boolean
प्रकार में क्या अंतर है ?
जवाबों:
bool
के लिए एक उपनाम के System.Boolean
रूप int
में बस के लिए एक उपनाम है System.Int32
। यहाँ उपनामों की एक पूरी सूची देखें: बिल्ट-इन टाइप्स टेबल (C # संदर्भ) ।
boolean
और Boolean
एक ही बात नहीं है। एक एक आदिम डेटा प्रकार है और दूसरा एक वस्तु है।
कोई अंतर नहीं है - बूल केवल सिस्टम का एक उपनाम है। बुलियन।
http://msdn.microsoft.com/en-us/library/c8f5xwh7(VS.71).aspx
मुझे लगता है कि यह कई साल बाद है लेकिन मैं एक ही सवाल के साथ गूगल से इस पेज पर ठोकर खाई।
MSDN पृष्ठ पर अभी तक के रूप में एक मामूली अंतर है।
VS2005
ध्यान दें:
यदि आपको एक बूलियन चर की आवश्यकता होती है, जिसमें अशक्त का मान भी हो सकता है, तो बूल का उपयोग करें। अधिक जानकारी के लिए, अशक्त प्रकार (C # प्रोग्रामिंग गाइड) देखें।
VS2010
ध्यान दें:
यदि आपको एक बूलियन चर की आवश्यकता होती है जिसमें शून्य का मान भी हो सकता है, तो बूल का उपयोग करें। अधिक जानकारी के लिए, अशक्त प्रकार (C # प्रोग्रामिंग गाइड) देखें।
bool
जिसमें अशक्त हो सकता है, लेकिन Boolean
नहीं कर सकता। हालाँकि नए दस्तावेज़ में पुराने से एक लिंक है, फिर भी मैंने नए ?
अंतर को एक ही अंतर को नोटिस करने के लिए पर्याप्त रूप से नहीं पढ़ा ।
वह एक जैसे है। बूलियन C # और VB.Net के बीच आगे और पीछे रूपांतरण को सरल बनाने में मदद करता है। अधिकांश C # प्रोग्रामर 'बूल' को पसंद करते हैं, लेकिन अगर आप किसी ऐसी दुकान में हैं जहाँ VB.Net और C # दोनों की बहुत अधिक संख्या है, तो आप बूलियन को पसंद कर सकते हैं क्योंकि यह दोनों स्थानों पर काम करता है।
बूल बुलियन वर्ग के लिए एक उपनाम है। कक्षा पर एक विधि को कॉल करते समय एक चर और वर्ग नाम की घोषणा करते समय मैं उपनाम का उपयोग करता हूं।
वे वही हैं, बूल सिर्फ सिस्टम है। बूलियन छोटा। जब आप VB.net प्रोग्रामर के साथ हों तो बूलियन का उपयोग करें, क्योंकि यह C # और Vb दोनों के साथ काम करता है
ध्यान दें कि Boolean
केवल वही काम होगा using System;
जो आपके पास है (जो आमतौर पर है, लेकिन जरूरी नहीं कि, शामिल हो) (जब तक आप इसे बाहर नहीं लिखते System.Boolean
)। bool
जरूरत नही हैusing System;
बूल एक आदिम प्रकार है, जिसका अर्थ है कि मूल्य (इस मामले में सच / गलत) सीधे चर में संग्रहीत किया जाता है। बुलियन एक वस्तु है। बुलियन प्रकार का एक चर एक बूलियन ऑब्जेक्ट के लिए एक संदर्भ संग्रहीत करता है। केवल वास्तविक अंतर भंडारण है। एक वस्तु हमेशा एक आदिम प्रकार की तुलना में अधिक मेमोरी लेगी, लेकिन वास्तव में, आपके बूलियन मूल्यों को बूल में बदलने से स्मृति उपयोग पर कोई ध्यान देने योग्य प्रभाव नहीं होगा।
मैं गलत था; यह कैसे बूलियन और बूलियन के साथ जावा में काम करता है। C # में, बूल और बूलियन दोनों संदर्भ प्रकार हैं। दोनों अपने मूल्य को सीधे चर में संग्रहीत करते हैं, दोनों ही अशक्त नहीं हो सकते हैं, और दोनों को अपने मूल्यों को दूसरे प्रकार में संग्रहीत करने के लिए "कन्वर्टो" विधि की आवश्यकता होती है (जैसे इंट)। यह केवल वही मायने रखता है जो आप उपयोग करते हैं यदि आपको बूलियन वर्ग के भीतर परिभाषित एक स्थिर फ़ंक्शन को कॉल करने की आवश्यकता है।
bool
और Boolean
दो अलग-अलग प्रकार नहीं हैं, कि एक प्रकार एक संदर्भ प्रकार नहीं है, आप पहचानकर्ता का उपयोग करके उस एक प्रकार पर एक स्थिर विधि को कॉल कर सकते हैं , और आपको ConvertTo
इसे किसी अन्य प्रकार में परिवर्तित करने के लिए एक विधि को कॉल करने की आवश्यकता नहीं है ।
bool
और Boolean
दोनों संदर्भ प्रकार हैं"। शब्द bool
और Boolean
दोनों एक ही प्रकार को संदर्भित करते हैं, और यह प्रकार एक मान प्रकार है, न कि संदर्भ प्रकार।
बूल बूलियन के लिए एक उपनाम है। उपनाम क्या करते हैं, पाठ के एक तार को दूसरे के साथ बदल दिया जाता है (जैसे खोज / प्रतिस्थापित-सभी नोटपैड ++ में), कोड संकलित होने से ठीक पहले। रन-टाइम पर एक दूसरे का उपयोग करने से कोई प्रभाव नहीं पड़ता है।
अधिकांश अन्य भाषाओं में, एक एक आदिम प्रकार होगा और दूसरा एक वस्तु प्रकार (मूल्य प्रकार और संदर्भ प्रकार सी # गुड़गांव में) होगा। C # आपको दोनों के बीच चयन करने का विकल्प नहीं देता है। जब आप बुलियन क्लास में परिभाषित एक स्थिर विधि को कॉल करना चाहते हैं, तो यह ऑटो-जादुई रूप से बुलियन को एक संदर्भ प्रकार के रूप में मानता है। यदि आप एक नया बूलियन वैरिएबल बनाते हैं, तो यह ऑटो-जादुई रूप से इसे संदर्भ प्रकार के रूप में मानता है (जब तक कि आप Activator.CreateInstance विधि का उपयोग नहीं करते हैं)।
शायद बूलियन की तुलना में बूल एक बालक "हल्का" है; दिलचस्प है, इसे बदलना:
namespace DuckbillServerWebAPI.Models
{
public class Expense
{
. . .
public bool CanUseOnItems { get; set; }
}
}
...इसके लिए:
namespace DuckbillServerWebAPI.Models
{
public class Expense
{
. . .
public Boolean CanUseOnItems { get; set; }
}
}
... मेरी सीएस फाइल के कारण "सिस्टम का उपयोग करते हुए अंकुरित" हुआ। "बूल" में वापस प्रकार बदलने से क्लॉज़ के बाल ग्रे हो जाते हैं।
(विजुअल स्टूडियो 2010, वेबएपीआई प्रोजेक्ट)
System.Boolean
सिर्फ के बजाय है Boolean
। यह using System;
दिखा रहा था क्योंकि इसे Boolean
ठीक से व्याख्या करने की अनुमति थी System.Boolean
। वास्तव में इतना हल्का नहीं जितना कि सिर्फ कम क्रिया।