C# Nullable Types

Introduction to C# Nullable Types

कई बार आपको किसी variable को NULL value assign करने की आवश्यकता हो सकती है। लेकिन आप किसी variable को NULL value नहीं assign कर सकते है। हर data type के लिए एक range पहले से निश्चित होती है। आप किसी data type के variable की value उसकी range के बाहर नहीं assign कर सकते है।

हालाँकि variables को NULL value assign करने की आवश्यकता कई कारणों से हो सकती है। लेकिन ऐसा ख़ासकर तब होता है जब आप databases के साथ काम कर रहे हो। किसी database में जब किसी filed के लिए कोई value available नहीं होती है तो उसे NULL द्वारा represent किया जाता है।

ऐसे में यदि आप अपने program के data को database में store करते है और यदि किसी variable के लिए अभी value available नहीं है (या user से बाद में input के रूप में प्राप्त की जायेगी) तो आपके पास उस variable की value को database में represent करने का कोई option नहीं होता है।

ऐसे fields को database में उनकी default values assign की जाती है। ऐसे fields को database में समझना और queries में use करना मुश्किल होता है। Databases के अलावा ऐसी और भी कई situations हो सकती है जब आपको किसी variable को NULL value assign करने की आवश्यकता पड़ सकती है।

सभी programming languages में variables में NULL values को store करना एक चुनौती रही है। C# 2.0 में इस समस्या के solution के रूप में nullable types को introduce किया गया है।

Nullable types के द्वारा आप किसी value type के variable में उसकी range की values के अलावा NULL value भी store कर सकते है।

उदाहरण के लिए आप एक nullable Int32 variable में -2147483648 से लेकर 2147483647 तक की values के अलावा NULL value भी store कर सकते है।

Nullable types ? operator द्वारा साधारण value types (int, float, bool आदि) के nullable versions create करके define किये जाते है।

C# में सभी nullable types System.Nullable struct के instances होते है। किसी value type को nullable type के रूप में use किया जा सकता है। लेकिन आप किसी reference type को nullable type के रूप में नहीं use कर सकते है।

Nullable types को values उसी प्रकार assign की जाती है जिस प्रकार आप regularly normal variables को assign करते है।

Syntax of C# Nullable Types

C# में nullable types define करने का general syntax निचे दिया जा रहा है।

data-type ? variable-name;

जैसा की आप ऊपर दिए गए syntax में देख सकते है nullable types को define करते समय सबसे पहले आप वह base data type define करते है जिसका nullable version आप create करना चाहते है। यह data type कोई भी value type जैसे की int, float और bool आदि हो सकता है।

आप जो भी base data type define करते है वह nullable कहलाता है। उदाहरण के लिए यदि आप int define करते है तो वह nullable of int कहलाता है।

Base data type define करने के बाद question mark symbol define किया जाता है। इस symbol से ही compiler को पता चलता है की data type nullable है और variable null value store कर सकता है। इसके बाद आप variable का नाम define करते है।

Example of C# Nullable Types

C# में nullable types के use को निचे उदाहरण द्वारा समझाया जा रहा है।

using System;

class myClass
{
     static void Main(string[] args)
     {
            int ? Num = null;
            int Num2 = 5;

            Console.WriteLine(“Value of Num is {0} and Num2 is {1}”,Num,Num2);
     }
}

ऊपर दिया गया उदाहरण निचे दिया गया output generate करता है।

Value of Num is   and Num2 is 5