var
স্থিতিশীল টাইপ করা হয় - সংকলক এবং রানটাইম টাইপগুলি জানেন - তারা কেবল আপনাকে কিছু টাইপ করে সংরক্ষণ করে ... নিম্নলিখিতটি 100% অভিন্ন:
var s = "abc";
Console.WriteLine(s.Length);
এবং
string s = "abc";
Console.WriteLine(s.Length);
যা ঘটেছিল তা হ'ল সংকলকটি বুঝতে পেরেছিল যে এটি s
অবশ্যই একটি স্ট্রিং হতে হবে (আরম্ভকারী থেকে)। উভয় ক্ষেত্রেই এটি (আইএল) জানে যার s.Length
অর্থ (উদাহরণ) string.Length
সম্পত্তি।
dynamic
একটি খুব ভিন্ন প্রাণী; এটি সর্বাধিক অনুরূপ object
তবে গতিশীল প্রেরণের সাথে:
dynamic s = "abc";
Console.WriteLine(s.Length);
এখানে, গতিশীল হিসাবেs
টাইপ করা হয় । এটা তোলে কথা কে না জানে string.Length
, কারণ এটি জানে না, কিছু সম্পর্কে s
সময় সঙ্কলন করেন। উদাহরণস্বরূপ, নিম্নলিখিতগুলিও সংকলন করবে (তবে চলবে না):
dynamic s = "abc";
Console.WriteLine(s.FlibbleBananaSnowball);
রানটাইম (শুধুমাত্র) এ, এটা হবে পরীক্ষা জন্য FlibbleBananaSnowball
সম্পত্তি - এটা খুঁজে পেতে ব্যর্থ, এবং স্পার্ক একটি ঝরনা মধ্যে বিস্ফোরিত।
সহ dynamic
, সম্পত্তি / পদ্ধতি / অপারেটর / ইত্যাদি রানটাইমগুলিতে প্রকৃত বস্তুর উপর ভিত্তি করে সমাধান করা হয় । সিওএম (যা কেবলমাত্র রানটাইমযুক্ত বৈশিষ্ট্য থাকতে পারে), ডিএলআর, বা অন্যান্য গতিশীল সিস্টেমগুলির সাথে কথা বলার জন্য খুব সহজ javascript
।