एनोनिमस टाइप: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
'''अनाम प्रकार''' |C# 3.0, विज़ुअल बेसिक_.NET 9.0, [[ऑक्सीजन (प्रोग्रामिंग भाषा)]], [[स्काला (प्रोग्रामिंग भाषा)]] और गो (प्रोग्रामिंग भाषा) की एक विशेषता होती है। जो [[डेटा प्रकार]] को पहले किसी प्रकार को स्पष्ट रूप से परिभाषित किए बिना गुणों के एक समुच्चय को एक ही ऑब्जेक्ट में समाहित करने की अनुमति देता है।<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/bb397696.aspx|title=अनाम प्रकार (सी# प्रोग्रामिंग गाइड)|publisher=Microsoft|accessdate=2008-11-25| archiveurl= https://web.archive.org/web/20081207113322/http://msdn.microsoft.com/en-us/library/bb397696.aspx| archivedate= 7 December 2008 | url-status= live}}</ref> यह [[SQL]] जैसी [[LINQ]] सुविधा के लिए एक महत्वपूर्ण सुविधा है जो C# और VB.net में एकीकृत है। | '''अनाम प्रकार''' |C# 3.0, विज़ुअल बेसिक_.NET 9.0, [[ऑक्सीजन (प्रोग्रामिंग भाषा)]], [[स्काला (प्रोग्रामिंग भाषा)]] और गो (प्रोग्रामिंग भाषा) की एक विशेषता होती है। जो [[डेटा प्रकार]] को पहले किसी प्रकार को स्पष्ट रूप से परिभाषित किए बिना गुणों के एक समुच्चय को एक ही ऑब्जेक्ट में समाहित करने की अनुमति देता है।<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/bb397696.aspx|title=अनाम प्रकार (सी# प्रोग्रामिंग गाइड)|publisher=Microsoft|accessdate=2008-11-25| archiveurl= https://web.archive.org/web/20081207113322/http://msdn.microsoft.com/en-us/library/bb397696.aspx| archivedate= 7 December 2008 | url-status= live}}</ref> यह [[SQL]] जैसी [[LINQ]] सुविधा के लिए एक महत्वपूर्ण सुविधा है जो C# और VB.net में एकीकृत है। चूँकि अनाम प्रकारों में कोई नामित प्रकार नहीं होता है, इसलिए उन्हें <code>var</code> कीवर्ड का उपयोग करके घोषित [[ चर (प्रोग्रामिंग) |चर]]में संग्रहीत किया जाना चाहिए, जिससे C# कंपाइलर को वेरिएबल के लिए प्रकार अनुमान का उपयोग करने के लिए कहा जा सके। बनाई गई संपत्तियाँ C# में केवल-पढ़ने के लिए हैं, चूँकि, वे VB.net में पढ़ने-लिखने के लिए हैं। | ||
इस सुविधा को [[ गतिशील टाइपिंग ]] के साथ भ्रमित नहीं किया जाना चाहिए। जबकि अनाम प्रकार प्रोग्रामर को फ़ील्ड को तुरंत परिभाषित करने की अनुमति देते हैं, फिर भी वे स्थिर इकाइयाँ हैं। प्रकार की जांच संकलन समय पर की जाती है, और किसी गैर-मौजूद फ़ील्ड तक पहुंचने का प्रयास करने से कंपाइलर त्रुटि हो जाएगी। यह प्रोग्रामर्स को [[स्थैतिक टाइपिंग]] की प्रकार सुरक्षा के साथ, एक गतिशील भाषा की काफी सुविधा देता है। | इस सुविधा को [[ गतिशील टाइपिंग ]] के साथ भ्रमित नहीं किया जाना चाहिए। जबकि अनाम प्रकार प्रोग्रामर को फ़ील्ड को तुरंत परिभाषित करने की अनुमति देते हैं, फिर भी वे स्थिर इकाइयाँ हैं। प्रकार की जांच संकलन समय पर की जाती है, और किसी गैर-मौजूद फ़ील्ड तक पहुंचने का प्रयास करने से कंपाइलर त्रुटि हो जाएगी। यह प्रोग्रामर्स को [[स्थैतिक टाइपिंग]] की प्रकार सुरक्षा के साथ, एक गतिशील भाषा की काफी सुविधा देता है। |
Revision as of 10:35, 18 July 2023
अनाम प्रकार |C# 3.0, विज़ुअल बेसिक_.NET 9.0, ऑक्सीजन (प्रोग्रामिंग भाषा), स्काला (प्रोग्रामिंग भाषा) और गो (प्रोग्रामिंग भाषा) की एक विशेषता होती है। जो डेटा प्रकार को पहले किसी प्रकार को स्पष्ट रूप से परिभाषित किए बिना गुणों के एक समुच्चय को एक ही ऑब्जेक्ट में समाहित करने की अनुमति देता है।[1] यह SQL जैसी LINQ सुविधा के लिए एक महत्वपूर्ण सुविधा है जो C# और VB.net में एकीकृत है। चूँकि अनाम प्रकारों में कोई नामित प्रकार नहीं होता है, इसलिए उन्हें var
कीवर्ड का उपयोग करके घोषित चरमें संग्रहीत किया जाना चाहिए, जिससे C# कंपाइलर को वेरिएबल के लिए प्रकार अनुमान का उपयोग करने के लिए कहा जा सके। बनाई गई संपत्तियाँ C# में केवल-पढ़ने के लिए हैं, चूँकि, वे VB.net में पढ़ने-लिखने के लिए हैं।
इस सुविधा को गतिशील टाइपिंग के साथ भ्रमित नहीं किया जाना चाहिए। जबकि अनाम प्रकार प्रोग्रामर को फ़ील्ड को तुरंत परिभाषित करने की अनुमति देते हैं, फिर भी वे स्थिर इकाइयाँ हैं। प्रकार की जांच संकलन समय पर की जाती है, और किसी गैर-मौजूद फ़ील्ड तक पहुंचने का प्रयास करने से कंपाइलर त्रुटि हो जाएगी। यह प्रोग्रामर्स को स्थैतिक टाइपिंग की प्रकार सुरक्षा के साथ, एक गतिशील भाषा की काफी सुविधा देता है।
उदाहरण
सी#
var person = new { firstName = "John", lastName = "Smith" };
Console.WriteLine(person.lastName);
आउटपुट: Smith
जाओ
var person struct { firstName string; lastName string }
person.firstName="John"
person.lastName="Smith"
OCaml
let person = object val firstName = "John" val lastName = "Smith" end;;
ऑक्सीजन
var person := new class(firstName := 'John', lastName := 'Smith');
पीएचपी
$person = new class
{
public $firstName = "John";
public $lastName = "Smith";
};
स्कैला
val person = new { val firstName = "John"; val lastName = "Smith" }
विजुअल बेसिक .NET
Dim person = New With {.firstName = "John", .lastName = "Smith"}
यह भी देखें
संदर्भ
- ↑ "अनाम प्रकार (सी# प्रोग्रामिंग गाइड)". Microsoft. Archived from the original on 7 December 2008. Retrieved 2008-11-25.
बाहरी संबंध
- C# 3.0 Language Enhancements Presentation
- Anonymous Types in Visual Basic 2008 - Learn about the new features in Visual Basic 2008.