نوع داده Nullable
نوع داده Nullable (که با يک علامت سوال قابل تشخيص است : int? i = null;)اجازه تخصيص مقدار null را براي انواع دادهاي ميدهد.اين امر باعث بهبودي فعل و انفعال با پايگاه داده SQL ميشود. در اين حالت نوع ستوني INTEGER NULL در SQL به طور مستقيم به int? در سي شارپ تبديل ميشود.
داده هاي Nullable در آخرين لحظات آگوست 2005 اضافه شدند چند هفته متنده به اتمام کار اداري و براي بهبود زبان.متغير Null در حقيقت خالي نيست، بلکه نمونه اي است از struct Nullable<T> با ويژگي HasValue مساوي false. وقتي در برنامه قرار مي گيرد، خود به خود نمونه خالي در آن قرار مي گيرد، نه مقدار خود آن، در نتيجه اشاره گر مقصد هميشه غير Null مي باشد، حتي براي مقادير Null. کد زير نضص بالا را مشخص مي کند:
کد:int? i = null; object o = i; if (o == null) Console.WriteLine(«Correct behaviour - runtime version from September 2005 or later»); else Console.WriteLine(«Incorrect behaviour - pre-release runtime (from before September 2005)»);
وقتي درون شي اي کپي مي شود، نمونه Nullable به صورت تشريفاتي در آن قرار مي گيرد و در نتيجه مقادير و منابع Null با هم برابر مي شوند.در گذشته اين خاصيت داراي مجادله بود تا زماني که علاوه بر .NET2 ، به هسته CLR نيز مجهز شد و همه تکنولوژي ها نظير #CوVBوSQL Server 2005و Visual Studio 2005 را شامل شد.
گردآورنده: طه - Borna66