मैं जावा और सी # में "प्राइमेटिव्स" के उपयोग को समझने की कोशिश कर रहा हूं और उनके बीच का अंतर (यदि कोई)। मैंने एसओ पर कई प्रश्न पूछे हैं और कुछ जवाब इसे स्पष्ट करने के बजाय इस मुद्दे को भ्रमित करने लगते हैं। कुछ उत्तर (और कुछ एमएस दस्तावेज) विरोधाभासी बयान प्रदान करते हैं। अतःजावा में "आदिम", "मूल्य प्रकार", "संरचना", "कक्षा", "लपेटें" की परिभाषाएं और सी #
और एमएस से से: http://msdn.microsoft.com/en-us/library/ms228360%28VS.80,lightweight%29.aspx - "structs बहुत वर्गों के लिए समान हैं" - "पर - " Int32
वर्ग int
डेटा प्रकार लपेटता " दूसरी तरफ, सी # में सभी आदिम डेटा प्रकार सिस्टम नेमस्पेस में ऑब्जेक्ट्स हैं। प्रत्येक डेटा प्रकार के लिए, एक छोटा नाम, या उपनाम प्रदान किया जाता है। उदाहरण के लिए, int
सिस्टम के लिए संक्षिप्त नाम है .Int32 "।
मेरा भ्रम मुख्य रूप से सी # के साथ है (मैंने कुछ समय के लिए जावा प्रोग्राम किया है)।
संपादित निम्नलिखित पैराग्राफ @Jon स्कीट
- जावा दो प्रकार (आदिम और वर्ग) है द्वारा सही होने के लिए पुष्टि की गई है। शब्द "मूल्य प्रकार" कक्षा के लिए आदिम (हालांकि व्यापक रूप से उपयोग नहीं किया जाता है) और "संदर्भ प्रकार" के लिए समानार्थी हो सकता है। जावा "लपेटता" पुरातन वर्गों (पूर्णांक) में (int) और इन कक्षाओं में किसी अन्य वर्ग की पूरी शक्ति है (शून्य हो सकता है, संग्रह में प्रयोग किया जाता है, आदि)
संपादित @Jon एक दिया है सी # पर बहुत स्पष्ट बयान इसलिए मैं अपनी सुझाई गई सच्चाइयों को हटा दूंगा और उसका जवाब देखूंगा।
आगे प्रश्न: क्या इन शर्तों का वास्तविक उपयोग क्या होना चाहिए इस पर सर्वसम्मति है? यदि सर्वसम्मति है तो मैं स्पष्ट रूप से वर्तनी के लिए बहुत आभारी हूं। अन्यथा मुझे लगता है कि शब्दावली उलझन में है और इसलिए सीमित उपयोग है।
सारांश बहुत स्पष्ट उत्तरों के लिए धन्यवाद। एक सहमति है (@ जोन से स्वीकार्य उत्तर देखें) जो वास्तव में इसे समझते हैं और एमएस दस्तावेज़ संगत होते हैं (हालांकि वे जावा में स्थानों को संदर्भित करते हैं और मैं इन्हें सी # के लिए गलत तरीके से पढ़ता हूं)
@ जोन ने प्रश्न संपादित किया और दूसरा बुलेट बिंदु हटा दिया, इसके बजाय आपके उत्तर की ओर इशारा किया। –