উত্তর:
না, একটি nullable একটি কাঠামো। যা ঘটছে তা হ'ল নলেবল স্ট্রাক্টের দুটি মান রয়েছে:
int
জন্য int?
, DateTime
জন্য DateTime?
, ইত্যাদি)।HasValue
সম্পত্তি।)আপনি যখন ডেটা টাইপের মান সেট করেন, স্ট্রাক্টটি HasValue
সত্যে পরিবর্তিত হয়।
থেকে Nullable প্রকার (C # এর প্রোগ্রামিং গাইড) :
অবিচ্ছেদ্য প্রকারগুলি হ'ল সিস্টেমের উদাহরণ ul ননবল স্ট্রাক্ট।
এবং
নুলযোগ্য প্রকারগুলি মান-ধরণের ভেরিয়েবলগুলিকে উপস্থাপন করে যা নালটির মান নির্ধারণ করতে পারে। আপনি কোনও রেফারেন্স টাইপের উপর ভিত্তি করে নালাগুলি টাইপ তৈরি করতে পারবেন না। (রেফারেন্সের ধরনগুলি ইতিমধ্যে নাল মানকে সমর্থন করে))
সুতরাং, না তারা রেফারেন্সের ধরণ নয়।
নুলযোগ্য প্রকারগুলি মান মান বা রেফারেন্স প্রকার নয়। এগুলি আরও মান ধরণের মতো তবে রেফারেন্স ধরণের কয়েকটি বৈশিষ্ট্য রয়েছে।
স্বাভাবিকভাবেই, nullable ধরণের সেট করা যেতে পারে null
। তদুপরি, একটি nullable টাইপ জেনেরিক struct
সীমাবদ্ধতা পূরণ করতে পারে না । এছাড়াও, যখন আপনার সাথে একটি nullable type বক্সে HasValue
সমান false
, আপনি একটি পেতে null
বক্স nullable টাইপ করার পরিবর্তে পয়েন্টার (একই অবস্থা আনবক্সিং বিদ্যমান)।
এই বৈশিষ্ট্যগুলি হ্রাসযোগ্য প্রকারকে অ-মানযুক্ত প্রকারগুলিতে তৈরি করে তবে তারা নিশ্চিত হয় যে এটি কোনও প্রকারের নয় reference এগুলি হ'ল তাদের নিজস্ব বিশেষ অযোগ্য-মান প্রকার।
না, নুলযোগ্য টাইপটি আসলে একটি কাঠামো। রানটাইম বুদ্ধিমানের জন্য আপনার জন্য একটি নাল মান নির্ধারণ করবে, একটি রেফারেন্স ধরণের উপস্থিতি দেবে, যখন তা না হয় ....
নুলযোগ্য প্রকারগুলি উল্লেখের ধরণ হতে পারে না।