Data Types in C#

Data Types in C#: मान या मानों का समूह Computer के लिए Data होता है। Real World में भी Data (Value or a Set of Values) कई प्रकार के होते हैं। जैसे किसी व्‍यक्ति की उम्र को हम संख्‍या के रूप में दिखाते हैं, जबकि उस व्‍यक्ति के नाम को Characters के समूह के रूप में परिभाषित करते हैं। इसी Concept के आधार पर C# Language में भी विभिन्न प्रकार के Data को Store करने के लिए विभिन्न प्रकार के Data Types को Define किया गया है।

यदि गौर किया जाए तो वास्तव में Data केवल दो तरह के ही होते हैं। या तो Data Numerical होता है, जिसमें केवल आंकिक मान होते हैं और जरूरत के आधार पर इनके साथ किसी Specific Type की Calculation को Perform किया जा सकता है अथवा Alphanumerical होता है जो कि Characters का समूह होते हैं, जिनके साथ किसी प्रकार की Calculation को Perform नहीं किया जा सकता।

C# एक Strongly Typed Programming Language है। यानी इस Programming Language में किसी भी प्रकार के मान को Computer की Memory में Store करने से पहले Particular उस प्रकार के मान को Store करने के लिए Memory Reserve किया जाता है और Compiler को बताया जाता है कि हम जो Memory Reserve कर रहे हैं, उसमें किस तरह का मान Store करेंगे।

परिणामस्वरूप C# Compiler पूरे Program के Execution के दौरान इस बात का ध्‍यान रखता है कि जिस Memory Location को जिस प्रकार का Data Store करने के लिए Define किया गया है, उस Memory Location पर उसी प्रकार का मान Store हो। जबकि अन्‍य प्रकार का मान Store करने की कोशिश करने पर Compiler Error Generate करता है।

Data Types in C#: Value Types and Reference Type

C# में मूल रूप से विभिन्न प्रकार के Built-In Data Types को Value TypesReference Types नाम से दो भागों में विभाजित किया गया है। इन दोनों प्रकार के Types में जो अन्तर है वह इसी आधार पर है कि किसी Variable में किस प्रकार का मान Stored है।

यदि किसी Variable में कोई Actual Numerical या Non-Numerical Data Stored हो, तो इस प्रकार के Variable को Value Type का Variable कहा जाता है। जबकि यदि Variable में किसी कोई Data Stored न हो, बल्कि वह Data Actually जिस Memory Location पर Stored है, उस Memory Location का Address Stored हो, तो इस प्रकार के Variable को Reference Type Variable कहा जाता है।

Value Type को हम सरल शब्दों में Primary Data Type भी कह सकते हैं जबकि Reference Types वास्तव में Secondary Data Type या User Defined Data Type होते हैं, जिन्हें एक Programmer अपनी जरूरत के अनुसार स्वयं Define करता है। C# Core में मूल रूप से 13 Value Types होते हैं, जिन्हें निम्न सारणी में दर्शाया गया है:

Type Meaning
bool Represents true/false values
byte 8-bit unsigned integer
char Character
decimal Numeric type for financial calculations
double Double-precision floating point
float Single-precision floating point
int Integer
long Long integer
sbyte 8-bit signed integer
short Short integer
uint An unsigned integer
ulong An unsigned long integer
ushort An unsigned short integer

ये Value Data Types C# के Type System का आधार बनाते हैं, क्योंकि अन्‍य सभी User Defined Data Types वास्तव में इन्हीं पर आधारित होते हैं। इसीलिए इन्हे सामान्‍यत: Primary Data Type या Primitive Types भी कहते हैं।

C# में हर Value Type की एक निश्चित RangeBehavior तय किया गया है, जिसकी वजह से सभी .NET Supported Programming Languages एक दूसरे के Codes को Access व Manipulate करते हुए Language Interoperability की सुविधा Provide करते हैं।

इन Simple Value Types के अलावा C# में Value Types को Enumerations, StructuresNullable Types नाम के तीन और Categories में Sub-Divide किया गया है, जिनके बारे में हम आगे विस्तार से जानेंगे।

Primitive Data Type Standard Data Type होते हैं, जबकि Secondary या Reference Type, Primitive Data Type पर आधारित होते हैं। C# के विभिन्न Data Types को हम निम्नानुसार विभाजित कर सकते हैं:

Data Types in C# - Hindi

Data Type किसी भी Programming Language का एक Fundamental Concept होता है। Data Type का प्रयोग करके एक Programmer Compiler को ये बताता है कि उसे किस प्रकार के मान को Store करना है। Compiler Programmer द्वारा तय किए गए Data Type के आधार पर दो काम करता है।

  • Compiler Data-Type के अनुसार Memory Reserve करता है।
  • उस Reserved Memory को एक नाम देता है।

जिस तरह से Real World में छोटी चीज को रखने के लिए कम जगह की जरूरत होती है और बडी चीज को Store करने के लिए अधिक जगह की, उसी तरह से Computer में भी होता है। यदि Computer में छोटे मान को Store करना हो, तो कम Memory की जरूरत होती है और यदि बडे मान को Store करना हो तो अधिक Memory की।

इस तथ्‍य को एक उदाहरण से समझने की कोशिश करते हैं। हम जानते हैं कि Computer में एक Character Store करने के लिए एक Byte की Memory की जरूरत होती है।

यानी यदि किसी Student का नाम 10 अक्षरों का हो तो उस Student के नाम को Memory में Store करने के लिए 10 Bytes की जरूरत होगी जबकि यदि किसी Student का नाम 15 अक्षरों का हो, तो 15 Bytes की Memory की जरूरत होगी।

इसी प्रकार से यदि किसी Student की Age Computer में Store करनी हो तो हमें कम Memory की जरूरत होगी। जबकि यदि हमें किसी देश की कुल जनसंख्‍या को Computer में Value की तरह Store करना हो तो हमें Age को Store होने के लिए Age द्वारा ली जाने वाली Memory की तुलना में काफी अधिक Memory की जरूरत होगी, क्योंकि Practically किसी भी देश की जनसंख्‍या कम से कम होगी तो भी करोडों में होगी जबकि किसी व्‍यक्ति की अधिकतम उम्र होती, तो सैकडों में ही होगी।

यानी यदि हम सारांश में कहें तो अलग-अलग प्रकार (Data Type) के मानों को Memory में Store करने के लिए अलग-अलग Memory Size की जरूरत होती है और हमें किसी Real World Problem Related किस तरह के मान को Store व Manipulate करना है, इस बात पर निर्भर करते हुए उपयुक्त प्रकार के Data Type का Variable या Constant Declare करना पडता है।

Variable or Constant Declaration

जब हमें Computer में किसी Data पर किसी प्रकार की Processing करनी होती है, तब सबसे पहले हमें उस Data को Computer की Memory में Store करना पडता है। Computer की Memory में किसी Data को Store करने के लिए C# में विभिन्न प्रकार के Keywords तय किए गए हैं। इन Keywords द्वारा Compiler ये तय करता है कि User को किस प्रकार के मान को Store करने के लिए Memory चाहि,।

User जिस Data Type के Keyword का प्रयोग करता है, Compiler उस Keyword की Size के अनुसार Memory Reserve कर लेता है। लेकिन अभी भी एक समस्या रहती है और वो समस्या ये है कि Compiler जो Memory Reserve करता है, उस Memory पर मानों (Data) को भेजने के लिए और किसी Processing में उन Memory Locations से Data को वापस प्राप्त करने के लिए Programmer को एक नाम की जरूरत होती है, ताकि वह Compiler को ये बता सके कि वह किस Memory Location के मान को Access करना चाहता है।

इसलिए Data Type को Represent करने वाले Keyword के साथ Programmer को एक नाम भी देना होता है। इस नाम को ही Variable या Constant कहते हैं।

Computer में किसी मान को Store करने के लिए Compiler को दो बातें बतानी पडती है। पहली ये कि Programmer किस प्रकार का मान Memory में Store करना चाहता है। इस पहली बात को बताने के लिए Programmer आव”यकतानुसार किसी Keyword का प्रयोग करता है। इस Keyword के आधार पर Compiler Memory Reserve करता है।

जबकि Compiler को दूसरी बात ये बतानी होती है कि Programmer उस Reserve की गई Memory को किस नाम से Access करेगा और इस जरूरत को पूरा करने के लिए Programmer, Data Type के Keyword के साथ एक नाम भी Specify करता है और Compiler उस Reserve की गई Memory को वह Specified नाम Associate कर देता है।

एक Programmer जब Compiler को ये जानकारी देता है कि वह किस प्रकार के मान को Memory में Store करना चाहता है और Compiler द्वारा Reserve की जाने वाली Memory को किस नाम से Access करना चाहता है, तो इस पूरी प्रक्रिया को Variable/Constant Declaration कहते हैं। कोई Variable/Constant Declare करने के लिए Programmer को निम्न Syntax के अनुसार C# की Source File में अपना Code लिखता है-

DataType Identifier_Name

यदि हमें एक ही समय में एक ही Syntax द्वारा एक ही Data Type के एक से अधिक Identifiers Create करने हों या Declare करने हों तो हमें निम्न Syntax Use करना पडता है-

DataType Identifier_Name_1, Identifier_Name_2, , . . . ,  Identifier_Name_n,

Variable व Constant दोनों ही प्रकार के Identifiers को Declare करने का तरीका एक जैसा ही होता है। अन्तर केवल इनमें Store किए जाने वाले Data को Store करने के तरीके का होता है।

जब किसी Identifier को Declare करते ही उसे एक निश्चित मान प्रदान कर दिया जाता है और Programmer उस मान को पूरे Program में Change करना नहीं चाहता है, तो Declare किए गए उस Identifier को Constant कहा जाता है। जबकि यदि Identifier को Declare करने के बाद Programmer उसमें एक Permanent मान Initialize नहीं करता है, तो उस Identifier को Variable कहा जाता है।

Value Initialization

जब Programmer किसी Identifier को Declare करता है और Declaration के साथ ही उसमें कोई प्रारम्भिक मान प्रदान कर देता है, तो इस प्रक्रिया को Variable Initialization कहते हैं। सामान्‍यतया लगभग सभी Languages में Identifiers को Initialize किया जाता है।

कुछ High Level Languages ऐसी भी होती हैं, जिनमें यदि Identifier को Declare करते ही उसे Initialize ना किया जाए, तो भी उन Languages का Compiler उन Identifiers में Default मान Initialize कर देता है। C# भी एक ऐसी ही Smart High-Level Programming Language है। इसलिए यदि हम इसके किसी Identifier को Create करके उसे कोई मान Initialize ना करें, तो भी C# स्वयं उसके Variable को उनके Data Type के अनुसार Initialize कर देता है।

C# in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C#.NET in Hindi | Page:908 | Format: PDF

BUY NOW GET DEMO REVIEWS