dynamic प्रकार
dynamic से प्रकार का निर्धारण रनटाइम तक स्थगित करें।
dynamic प्रकार, CoddyKit पर C# अकादमी का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह C# अकादमी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C# अकादमी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
dynamic क्या है
dynamic प्रकार संकलन-समय पर होने वाली प्रकार-जाँच को दरकिनार करता है। इसके बजाय सदस्यों तक पहुँच और संचालन का निर्धारण रनटाइम पर होता है।
using System;
class Program {
static void Main() {
dynamic value = 10;
Console.WriteLine(value + 5);
}
}अलग-अलग प्रकार फिर से असाइन करना
dynamic चर किसी भी प्रकार का मान रख सकता है और अलग-अलग असाइनमेंट में अपना प्रकार बदल भी सकता है।
using System;
class Program {
static void Main() {
dynamic x = 1;
Console.WriteLine(x);
x = "now a string";
Console.WriteLine(x);
}
}रनटाइम बाइंडिंग
dynamic के साथ कंपाइलर आप पर भरोसा करता है। विधि और गुणधर्म की खोज पंक्ति के चलने पर होती है, संकलित होने पर नहीं।
using System;
class Program {
static void Main() {
dynamic text = "hello";
Console.WriteLine(text.ToUpper());
}
}त्रुटियाँ रनटाइम पर सामने आती हैं
चूँकि जाँच बाद के लिए टाल दी जाती है, गलत सदस्य संकलन विफल करने के बजाय रनटाइम पर RuntimeBinderException उत्पन्न करता है।
using System;
using Microsoft.CSharp.RuntimeBinder;
class Program {
static void Main() {
dynamic n = 5;
try {
n.NoSuchMethod();
} catch (RuntimeBinderException) {
Console.WriteLine("No such member");
}
}
}dynamic बनाम var
var संकलन समय पर निश्चित होता है, जबकि dynamic रनटाइम पर लचीला रहता है। दोनों समान दिखते हैं, लेकिन उनका व्यवहार बहुत अलग होता है।
using System;
class Program {
static void Main() {
var fixedType = 10;
dynamic flexible = 10;
flexible = "changed";
Console.WriteLine(fixedType + " " + flexible);
}
}dynamic पर अंकगणित
dynamic पर ऑपरेटरों का निर्धारण रनटाइम पर संबंधित वास्तविक मानों के आधार पर होता है।
using System;
class Program {
static void Main() {
dynamic a = 3;
dynamic b = 4;
Console.WriteLine(a * b);
}
}dynamic लौटाने वाले मान
जब प्रकार वास्तव में बदलता हो, तब कोई विधि dynamic लौटा सकती है, लेकिन कॉल करने वालों को संकलन-समय की सहायता नहीं मिलती।
using System;
class Program {
static dynamic GetValue(bool flag) {
return flag ? (dynamic)42 : "text";
}
static void Main() {
Console.WriteLine(GetValue(true));
Console.WriteLine(GetValue(false));
}
}dynamic के उपयोग के मामले
dynamic COM इंटरऑपरेबिलिटी, JSON-जैसे डेटा और ऐसे कोड को कॉल करने में सहायक है जिसकी संरचना रनटाइम तक अज्ञात हो।
using System;
class Program {
static void Main() {
dynamic data = 100;
data += 1;
Console.WriteLine(data);
}
}प्रदर्शन की लागत
रनटाइम बाइंडिंग में अतिरिक्त लागत होती है। कसे हुए लूपों या सरल कोड के लिए गति और सुरक्षा हेतु स्थिर प्रकारों को प्राथमिकता दें।
using System;
class Program {
static void Main() {
int fast = 0;
for (int i = 0; i < 5; i++) fast += i;
Console.WriteLine(fast);
}
}IntelliSense उपलब्ध नहीं होता
संपादक dynamic पर सदस्यों के सुझाव नहीं दे सकते, क्योंकि प्रकार रनटाइम तक अज्ञात रहता है। इससे विकास धीमा हो जाता है।
using System;
class Program {
static void Main() {
dynamic s = "Code";
Console.WriteLine(s.Length);
}
}सीमित उपयोग करें
dynamic का उपयोग केवल तब करें जब स्थिर प्रकार वास्तव में परिस्थिति को व्यक्त न कर सकें; अन्यथा ठोस प्रकारों को प्राथमिकता दें।
using System;
class Program {
static void Main() {
dynamic flexible = 7;
Console.WriteLine(flexible.GetType().Name);
}
}त्वरित जाँच
dynamic की अपनी समझ का परीक्षण करें।
पुनरावलोकन
dynamic संकलन-समय की प्रकार-जाँच बंद कर देता है और सदस्यों का निर्धारण रनटाइम पर करता है, इसलिए dynamic चर अपना प्रकार बदल सकता है और अमान्य कॉल RuntimeBinderException उत्पन्न करती हैं।
संकलन समय पर निश्चित var के विपरीत, dynamic लचीला है, लेकिन प्रदर्शन घटाता है, IntelliSense खो देता है और इसका सीमित उपयोग किया जाना चाहिए।
एआई शिक्षक के साथ C# सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 93
- पाठ
- 346
अक्सर पूछे जाने वाले प्रश्न
क्या “dynamic प्रकार” पाठ निःशुल्क है?
हाँ—“dynamic प्रकार” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और C# अकादमी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। C# अकादमी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“dynamic प्रकार” में मैं क्या सीखूँगा?
dynamic से प्रकार का निर्धारण रनटाइम तक स्थगित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C# अकादमी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या C# अकादमी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C# अकादमी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“dynamic प्रकार” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस C# अकादमी पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर C# अकादमी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।