نوع داده Nullable Type
نام دوره: زبان سی شارپ مقدماتی
نویسنده: علی مقدم جاه (مدرس دوره)
نوع داده Nullable Type
در پست آموزش انواع Data Type در زبان برنامهنویسی سیشارپ آشنا شدید و متوجه شدید که Nullable type ها در مجموعه value type قرار دارند؛ درنتیجه بصورت مستقیم داده را در خود ذخیره میکنند.
قطعا میدانید که در حالت عادی، شما نمیتوانید مقدار Null (مثل همان تهی در ریاضی) را درون یک متغیر معمولی از جنس Simple Type ها ذخیره کنید!
یعنی نوشتن این خط دستور ( ;int age = null ) کاملا اشتباه بوده و کامپایلر به شما قطعا خطا میدهد.
اما خب در تمام برنامههای کاربردی، همیشه این نیاز بین برنامهنویسان برای ذخیره مقدار null وجود داشته و خواهد داشت.
به عنوان مثال شما دستوری را در برنامه خود نوشتهاید، تا سن کاربر را از دیتابیس واکشی کند، اما اگر هنوز آن کاربر مشخصات پروفایل خود را تکمیل نکرده باشد و فیلد مربوط به سن او خالی باشد چی؟
در اینصورت چون دادهای درون دیتابیس بابت سن این کاربر وجود ندارد، بطور پیش فرض مقدار null بازگردانده شده و چون ما در قطعه کد خود گفته بودیم که پس از بازگردانی سن کاربر، آن را در ظرفی به نام age از نوع int ذخیره کن، درنتیجه قطعا سیستم خطا میدهد.
پس به طور کلی هر زمان که احساس کردید ممکن است فیلدی نیاز به ذخیره مقدار null را داشته باشد، باید این امکان را برای او ایجاد کنید.
به فیلدی که توانایی ذخیره مقدار null را داشته باشد، nullable میگوییم.
برای nullable کردن یک فیلد، از دو روش زیر میتوانیم استفاده کنیم:
روش اول:
nullable<int> age = null;
یا
nullable<int> age = 26;
روش دوم:
int? age = null;
یا
int? age = 26;
با یکی از دو روش بالا، همانطور که مشاهده نمودید، امکان ذخیره مقدار null برای ظرف age از نوع int که قبلا قادر به ذخیره مقدار null نبود، هماکنون این امکان را بدست آورده است.
جهت شرکت در دورههای زبان برنامه نویسی سیشارپ، از کد تخفیف heplc30 استفاده کنید.