मुझे समझ में क्यों नेट पर नौ पूर्णांक प्रकार के होते हैं चाहते हैं: Char
, Byte
, SByte
, Int16
, UInt16
, Int32
, UInt32
, Int64
, और UInt64
; प्लस अन्य संख्यात्मक प्रकार: Single
, Double
, Decimal
; और इन सभी प्रकारों का कोई संबंध नहीं है।.NET primitives और टाइप पदानुक्रम, यह इस तरह क्यों डिजाइन किया गया था?
जब मैंने पहली बार सी # में कोडिंग शुरू की, तो मैंने सोचा "शांत, uint
प्रकार है, मैं इसका उपयोग करने जा रहा हूं जब नकारात्मक मानों की अनुमति नहीं है"। तब मुझे एपीआई का कोई एपीआई uint
लेकिन int
का उपयोग नहीं हुआ, और uint
int
से नहीं लिया गया है, इसलिए एक रूपांतरण की आवश्यकता थी।
इन प्रकारों के वास्तविक विश्व अनुप्रयोग क्या हैं? क्यों नहीं, इसके बजाय, integer
और positiveInteger
क्यों नहीं है? ये वे प्रकार हैं जिन्हें मैं समझ सकता हूं। वर्षों में एक व्यक्ति की उम्र positiveInteger
है, और positiveInteger
integer
का उप-समूह है, जब भी integer
की अपेक्षा की जाती है तो रूपांतरण की आवश्यकता होती है।
निम्नलिखित XPath 2.0 और XQuery 1.0 में प्रकार पदानुक्रम का चित्र है। यदि आप xs:anyAtomicType
के अंतर्गत देखते हैं तो आप संख्यात्मक पदानुक्रम decimal
>integer
>long
>int
>short
>byte
देख सकते हैं। .NET इस तरह डिज़ाइन क्यों नहीं किया गया था? क्या नया ढांचा "ओस्लो" अलग होगा?
एपीआई में नहीं है, सीएलएस पर एक नज़र डालें। http://msdn.microsoft.com/en-us/library/12a7a7h3.aspx – Dykam