2009-10-09 13 views

उत्तर

11

एक प्रकार जिसे स्पष्ट रूप से नाम से घोषित किया गया है। उदाहरण के लिए, आपके द्वारा घोषित कोई भी वर्ग या संरचना एक नामित प्रकार है।

अज्ञात प्रकार भी हैं, जिन्हें किसी नाम के बिना घोषित किया गया है और संकलक उस प्रकार का नाम निर्दिष्ट करता है जो डेवलपर तक पहुंच योग्य नहीं है।

आप विभिन्न प्रकार के types in C# पर और अधिक पढ़ सकते हैं।

3

यह स्पष्ट रूप से टाइप किए गए चर के संदर्भ में है, जिनके विपरीत अनाम प्रकार है। जो कुछ भी अनाम प्रकार नहीं है वह नामित प्रकार है।

साथ शुरू की (मुझे लगता है कि) नेट 3.0, अनाम प्रकार है कि उद्देश्य के लिए एक स्पष्ट नाम के प्रकार को परिभाषित किए बिना, केवल पढ़ने के लिए गुण का एक सेट से युक्त वस्तुओं बनाने के लिए एक सुविधाजनक तरीका प्रदान की है।

हालांकि गुमनाम प्रकार के कार्यान्वयन भी (ऑब्जेक्ट के गुणों की टाइपिंग के लिए) type inference के उपयोग की आवश्यकता, गुमनाम प्रकारImplicitly Typed Local Variables जिससे वर कीवर्ड प्रोग्रामर को मुक्त कर देते साथ भ्रमित होने की नहीं कर रहे हैं एक परिवर्तनीय प्रकार को स्पष्ट रूप से बताते हुए, लेकिन संकलक द्वारा एक प्रकार प्रभावी रूप से प्रदान किया जाता है। (सबसे निहित टाइप किए गए चर अज्ञात प्रकार नहीं हैं और इसलिए एक नामित प्रकार हैं। यह केवल संकलक है जो नामकरण करता है)।

+0

यह गलत है। टाइप अनुमान और अनाम प्रकार संबंधित नहीं हैं। जेनेरिक पैरामीटर या var कीवर्ड को बाहर करने के लिए कुछ मामलों में टाइप अनुमान का उपयोग किया जा सकता है। अज्ञात प्रकार उड़ने वाले नाम हैं जो फ्लाई पर बनाए जाते हैं। – recursive

+0

@recursive धन्यवाद! मैं इस पर पढ़ता हूं और महसूस करता हूं कि मैं कहां गलत हुआ। टाइप अनुमान अक्सर अज्ञात प्रकारों के मामले में उपयोग किया जाता है, लेकिन, दोनों अवधारणाएं वास्तव में पूरी तरह से अलग होती हैं। मैं तदनुसार मेरी प्रतिक्रिया ठीक कर दूंगा (या इसे पूरी तरह से मार डालूंगा ...) – mjv

+1

कूल। डाउनवोट हटा दिया गया। – recursive

2

कोई भी प्रकार जो Annonymous Type नहीं है "नामित प्रकार" होगा।

+1

आपकी परिभाषा के अनुसार, दो-आयामी-सरणी-पूर्णांक एक नामित प्रकार है। क्या वास्तव में यह समझ में आता है? यदि हां, तो इसका नाम क्या है? –

+1

@Eric इस प्रश्न को पढ़ने के लिए धन्यवाद।अगर आपको लगता है कि कुछ भी गुम या गलत समझा जाता है तो कृपया इस चर्चा पर अधिक प्रकाश डालें। ऊपर दिए गए एमजेवी की टिप्पणी से – csharpbaby

2

एक नामित प्रकार कोई स्पष्ट रूप से परिभाषित प्रकार (संरचना, वर्ग, आदि) है जिसे आप बनाते हैं और नाम देते हैं।

उदा .:

public class Foo 
{ 
    public string Bar{ get; set; } 
} 

इस मामले में, फू एक नामित प्रकार है।

इस के रूप में एक गुमनाम प्रकार है, जो आम तौर पर फ्लाई पर बनाई गई है करने का विरोध किया है:

var MyFoo = new { Bar = "some text" }; 

मैं बस एक नई वस्तु बनाया, MyFoo कहा जाता है। हमने इसे स्पष्ट रूप से एक प्रकार का नाम नहीं दिया है, लेकिन हमने इसे "कुछ पाठ" मान के साथ स्पष्ट रूप से एक स्ट्रिंग प्रॉपर्टी, बार दिया है।

+0

, 'वर माईफू' का अर्थ स्पष्ट रूप से टाइप किया गया चर है। जैसा कि आपने उल्लेख किया है यह अनाम प्रकार कैसा है? धन्यवाद – csharpbaby

संबंधित मुद्दे