C# में डेटा प्रकार: Double, पूर्णांक, फ्लोट, वर्ण

⚡ स्मार्ट सारांश

C# में डेटा प्रकार यह परिभाषित करते हैं कि एक चर किस प्रकार के मान धारण कर सकता है, जिसमें पूर्णांक और फ्लोटिंग-पॉइंट संख्याओं से लेकर बूलियन और स्ट्रिंग मान तक शामिल हैं, और वे यह निर्धारित करते हैं कि प्रोग्राम निष्पादन के दौरान प्रत्येक चर कितनी मेमोरी आरक्षित करता है।

  • 🔢 पूर्णांक प्रकार: Int32 कीवर्ड (int) एक निश्चित मेमोरी रेंज के भीतर 10, 20 या 30 जैसी पूर्ण संख्याओं को संग्रहीत करता है।
  • 🔣 फ्लोटिंग-पॉइंट प्रकार: डबल और फ्लोट दशमलव मानों को स्टोर करते हैं, जबकि डेसिमल वित्तीय गणनाओं के लिए उच्च परिशुद्धता प्रदान करता है।
  • बूलियन प्रकार: बूलियन कीवर्ड केवल सही या गलत मान संग्रहीत करता है और सशर्त तर्क को संचालित करता है।
  • 🔤 पाठ प्रकार: char में एक अक्षर होता है, जबकि string में अक्षरों का एक क्रम टेक्स्ट के रूप में संग्रहीत होता है।
  • 🧩 मूल्य बनाम संदर्भ: वैल्यू टाइप सीधे डेटा स्टोर करते हैं, जबकि स्ट्रिंग जैसे रेफरेंस टाइप मेमोरी एड्रेस स्टोर करते हैं।
  • 🤖 एआई सहायता: GitHub Copilot और ML.NET, C# टाइप हैंडलिंग में कोड सुझाव और मशीन लर्निंग की सुविधा लाते हैं।

C# में डेटा प्रकार

C# में डेटा प्रकार क्या हैं?

C# भाषा बेसिक डेटा प्रकारों के एक सेट के साथ आती है। इन डेटा प्रकारों का उपयोग उन मानों को बनाने के लिए किया जाता है जिनका उपयोग किसी एप्लिकेशन के भीतर किया जाता है। आइए C# में उपलब्ध बुनियादी डेटा प्रकारों का पता लगाएं। प्रत्येक उदाहरण के लिए, हम अपने Program.cs फ़ाइल में केवल मुख्य फ़ंक्शन को संशोधित करेंगे।

1) पूर्णांक

पूर्णांक डेटा प्रकारों का उपयोग संख्याओं के साथ काम करने के लिए किया जाता है। इस मामले में, संख्याएँ 10, 20 या 30 जैसी पूर्ण संख्याएँ होती हैं। C# में, डेटाटाइप को निम्न द्वारा दर्शाया जाता है Int32 कीवर्डनीचे एक उदाहरण दिया गया है कि इस डेटाटाइप का उपयोग कैसे किया जा सकता है। हमारे उदाहरण में, हम num नामक एक Int32 वैरिएबल परिभाषित करेंगे। फिर हम वैरिएबल को एक Integer मान असाइन करेंगे और फिर उसे उसी के अनुसार प्रदर्शित करेंगे।

C# में पूर्णांक डेटा प्रकार

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 { 
  static void Main(string[] args) 
  {
   Int32 num=30;
   Console.Write(num);  
   
   Console.ReadKey();
  }
 }
}

Code स्पष्टीकरण: -

  1. Int32 डेटा प्रकार को num नामक एक पूर्णांक चर घोषित करने के लिए निर्दिष्ट किया जाता है। फिर चर को 30 का मान दिया जाता है।
  2. अंत में कंसोल पर संख्या प्रदर्शित करने के लिए console.write फ़ंक्शन का उपयोग किया जाता है।

यदि उपरोक्त कोड ठीक से प्रविष्ट किया गया है और प्रोग्राम सफलतापूर्वक निष्पादित हुआ है, तो निम्न आउटपुट प्रदर्शित होगा।

आउटपुट:

C# में पूर्णांक डेटा प्रकार

आउटपुट से, आप स्पष्ट रूप से देख सकते हैं कि कंसोल में num नामक Integer variable प्रदर्शित किया गया था

2) Double

दशमलव के साथ काम करने के लिए डबल डेटा टाइप का उपयोग किया जाता है। इस मामले में, संख्याएँ 10.11, 20.22 या 30.33 जैसी पूर्ण संख्याएँ होती हैं। C# में, डेटाटाइप को कीवर्ड “ द्वारा दर्शाया जाता हैDouble“. नीचे इस डेटाटाइप का एक उदाहरण दिया गया है।

हमारे उदाहरण में, हम num नामक एक डबल वैरिएबल परिभाषित करेंगे। फिर हम एक असाइन करेंगे Double चर में मान जोड़ें और फिर उसे तदनुसार प्रदर्शित करें।

Double C# में डेटा प्रकार

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 { 
  static void Main(string[] args) 
  {
   double num=30.33;
   Console.Write(num); 
   
   Console.ReadKey();
  }
 }
}

Code स्पष्टीकरण: -

  1. डबल डेटा प्रकार को डबल प्रकार घोषित करने के लिए निर्दिष्ट किया जाता है परिवर्तनशील num कहा जाता है। फिर चर को 30.33 का मान दिया जाता है।
  2. अंत में कंसोल पर संख्या प्रदर्शित करने के लिए console.write फ़ंक्शन का उपयोग किया जाता है।

यदि उपरोक्त कोड ठीक से प्रविष्ट किया गया है और प्रोग्राम सफलतापूर्वक निष्पादित हुआ है, तो निम्न आउटपुट प्रदर्शित होगा।

आउटपुट:

Double C# में डेटा प्रकार

आउटपुट से, आप स्पष्ट रूप से देख सकते हैं कि कंसोल में num नामक डबल वेरिएबल प्रदर्शित किया गया था

3) बूलियन

बूलियन डेटा प्रकार का उपयोग बूलियन मानों के साथ काम करने के लिए किया जाता है सत्य और असत्यC# में, डेटाटाइप को Boolean कीवर्ड द्वारा दर्शाया जाता है। नीचे इस डेटाटाइप का उपयोग करने का एक उदाहरण दिया गया है।

हमारे उदाहरण में, हम 'स्थिति' नामक एक बूलियन चर परिभाषित करेंगे। फिर हम चर को एक बूलियन मान निर्दिष्ट करेंगे और फिर उसे तदनुसार प्रदर्शित करेंगे।

C# में बूलियन डेटा प्रकार

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
  { 
   static void Main(string[] args) 
   {
    Boolean status=true;
    Console.Write(status);
    
    Console.ReadKey();
   }
  }
}

Code स्पष्टीकरण: -

  1. बूलियन डेटा प्रकार को 'स्थिति' नामक बूलियन चर घोषित करने के लिए निर्दिष्ट किया जाता है। फिर चर को सत्य/असत्य का मान निर्दिष्ट किया जाता है।
  2. अंत में कंसोल पर बूलियन मान प्रदर्शित करने के लिए console.write फ़ंक्शन का उपयोग किया जाता है।

यदि उपरोक्त कोड ठीक से दर्ज किया गया है और प्रोग्राम सफलतापूर्वक निष्पादित हुआ है, तो आउटपुट प्रदर्शित किया जाएगा।

आउटपुट:

C# में बूलियन डेटा प्रकार

आउटपुट से, आप स्पष्ट रूप से देख सकते हैं कि बूलियन वैरिएबल जो true के बराबर है, कंसोल में प्रदर्शित किया गया था

4) स्ट्रिंग

स्ट्रिंग डेटा प्रकार का उपयोग स्ट्रिंग मानों के साथ काम करने के लिए किया जाता है। C# में, डेटाटाइप को 'स्ट्रिंग' कीवर्ड द्वारा दर्शाया जाता है। नीचे इस डेटाटाइप का एक उदाहरण दिया गया है।

हमारे उदाहरण में, हम 'message' नामक एक स्ट्रिंग वैरिएबल परिभाषित करेंगे। फिर हम वैरिएबल को एक स्ट्रिंग मान असाइन करेंगे और फिर उसे तदनुसार प्रदर्शित करेंगे।

C# में स्ट्रिंग डेटा प्रकार

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class program
 {
  static void Main(string[] args)
  {
   String message="Hello";
   Console.Write(message);
   
   Console.ReadKey();
  }
 }
}

Code स्पष्टीकरण: -

  1. स्ट्रिंग डेटा प्रकार को संदेश नामक स्ट्रिंग वैरिएबल घोषित करने के लिए निर्दिष्ट किया जाता है। फिर वैरिएबल को “हैलो” का मान दिया जाता है।
  2. अंत में, कंसोल पर स्ट्रिंग मान प्रदर्शित करने के लिए console.write फ़ंक्शन का उपयोग किया जाता है।

यदि उपरोक्त कोड ठीक से दर्ज किया गया है और प्रोग्राम सफलतापूर्वक निष्पादित हुआ है, तो आउटपुट प्रदर्शित किया जाएगा।

आउटपुट:

C# में स्ट्रिंग डेटा प्रकार

आउटपुट से, आप स्पष्ट रूप से देख सकते हैं कि message नामक स्ट्रिंग वेरिएबल कंसोल में प्रदर्शित किया गया था

C# डेटा प्रकारों की संपूर्ण सूची

ऊपर दिए गए चार उदाहरण सबसे सामान्य प्रकारों को दर्शाते हैं, लेकिन C# में अंतर्निहित मान डेटा प्रकारों का एक पूरा सेट मौजूद है। प्रत्येक प्रकार एक निश्चित मात्रा में मेमोरी आरक्षित करता है और मानों की एक विशिष्ट सीमा को स्वीकार करता है, इसलिए अपने डेटा के लिए सुरक्षित रूप से उपयुक्त सबसे छोटे प्रकार का चयन करने से प्रोग्राम की दक्षता बनी रहती है।

डाटा प्रकार आकार श्रेणी / Descriptआयन
बाइट 1 बाइट 0 से 255 तक
कम 2 बाइट्स 32,768 - 32,767
इंट (इंट32) 4 बाइट्स 2,147,483,648 - 2,147,483,647
लंबा 8 बाइट्स बहुत बड़ी पूर्ण संख्याएँ (±9.2 क्विंटिलियन)
नाव 4 बाइट्स लगभग 6-7 अंकों की सटीकता वाले दशमलव
डबल 8 बाइट्स लगभग 15-16 अंकों की सटीकता वाले दशमलव
दशमलव 16 बाइट्स मुद्रा के लिए उच्च परिशुद्धता वाले दशमलव (28-29 अंक)
टैंक 2 बाइट्स एक एकल यूनिकोड वर्ण
bool 1 बाइट सही या गलत

इन वैल्यू टाइप के साथ-साथ, स्ट्रिंग टाइप सबसे व्यापक रूप से उपयोग किया जाने वाला रेफरेंस टाइप है और यह किसी भी लंबाई के वर्णों के अनुक्रम को संग्रहीत करता है। उपयुक्त टाइप का चयन करने से ओवरफ्लो त्रुटियों और अनावश्यक मेमोरी उपयोग से बचा जा सकता है।

C# में वैल्यू टाइप बनाम रेफरेंस टाइप

C# में मौजूद प्रत्येक डेटा प्रकार दो समूहों में से किसी एक में आता है: मान प्रकार और संदर्भ प्रकार। यह अंतर नियंत्रित करता है कि C# डेटा को कैसे संग्रहीत करता है और किसी चर को कॉपी करने या उसे किसी विधि में पास करने पर वह कैसे व्यवहार करता है।

  • मान प्रकार: ये वास्तविक डेटा को सीधे स्टोर करते हैं, आमतौर पर स्टैक पर। int, double, bool, char एनम, और struct वैल्यू टाइप हैं। एक वेरिएबल को दूसरे में असाइन करने से वैल्यू कॉपी हो जाती है, इसलिए दोनों वेरिएबल स्वतंत्र रहते हैं।
  • संदर्भ प्रकार: ये मेमोरी हीप पर मौजूद डेटा को इंगित करने वाला एक संदर्भ (मेमोरी एड्रेस) संग्रहीत करते हैं। स्ट्रिंग, ऑब्जेक्ट, एरे और क्लास इंस्टेंस संदर्भ प्रकार हैं। संदर्भ चर की प्रतिलिपि बनाने पर केवल एड्रेस की प्रतिलिपि बनती है, इसलिए दोनों चर एक ही ऑब्जेक्ट को साझा करते हैं।

एक वैल्यू टाइप वेरिएबल कभी भी नल नहीं हो सकता क्योंकि इसमें हमेशा कोई न कोई वैल्यू होती है, जबकि एक अनइनिशियलाइज़्ड रेफरेंस टाइप डिफ़ॉल्ट रूप से नल होता है। इस अंतर को समझने से आपको यह अनुमान लगाने में मदद मिलती है कि प्रोग्राम में डेटा में होने वाले परिवर्तन कैसे प्रवाहित होते हैं।

C# में टाइप रूपांतरण

C# में अक्सर एक डेटा प्रकार से दूसरे डेटा प्रकार में मान को स्थानांतरित करने की आवश्यकता होती है, जैसे कि उपयोगकर्ता द्वारा दिए गए इनपुट (जो हमेशा टेक्स्ट होता है) को संख्या में बदलना। इस प्रक्रिया को टाइप रूपांतरण कहा जाता है, और यह मुख्य रूप से तीन तरीकों से होता है।

  • अप्रत्यक्ष रूपांतरण: डेटा हानि का कोई जोखिम न होने पर कंपाइलर स्वचालित रूप से रूपांतरण कर देता है, जैसे कि एक int को double में असाइन करना। इसके लिए किसी विशेष सिंटैक्स की आवश्यकता नहीं होती है।
  • स्पष्ट रूपांतरण (कास्टिंग): आप लक्ष्य प्रकार को कोष्ठक में रखते हैं, उदाहरण के लिए (int)myDoubleकास्टिंग से डेटा का नुकसान हो सकता है — डबल को इंट में बदलने से दशमलव भाग हट जाता है — इसलिए आप जानबूझकर यह जोखिम स्वीकार करते हैं।
  • सहायक विधियाँ: कन्वर्ट क्लास (Convert.ToInt32) और प्रत्येक प्रकार की पार्स विधि (int.Parse) स्ट्रिंग को संख्याओं में परिवर्तित करती है, जबकि ToString मानों को वापस पठनीय पाठ में परिवर्तित करता है।

सही रूपांतरण का चयन करने से डेटा सटीक रहता है और असाइनमेंट के दोनों पक्षों पर प्रकारों के मेल न खाने पर रनटाइम त्रुटियों को रोका जा सकता है।

अक्सर पूछे जाने वाले प्रश्न

फ्लोट, डबल और डेसिमल तीनों ही दशमलव संख्याएँ संग्रहित करते हैं, लेकिन इनकी परिशुद्धता और आकार भिन्न-भिन्न होते हैं। फ्लोट लगभग 7 अंकों के लिए 4 बाइट्स का उपयोग करता है, डबल लगभग 15 अंकों के लिए 8 बाइट्स का उपयोग करता है, और डेसिमल उच्च परिशुद्धता वाले वित्तीय मूल्यों के लिए 16 बाइट्स का उपयोग करता है।

वास्तव में कोई अंतर नहीं है। int, .NET System.Int32 प्रकार के लिए C# का एक उपनाम है, इसलिए int और Int32 दोनों का कंपाइलेशन बिल्कुल एक जैसा होता है। अधिकांश डेवलपर संक्षिप्तता के लिए int लिखते हैं, जबकि Int32 अंतर्निहित फ्रेमवर्क प्रकार को स्पष्ट करता है।

स्ट्रिंग एक रेफरेंस टाइप है, क्योंकि यह हीप पर मौजूद कैरेक्टर डेटा का रेफरेंस स्टोर करता है। हालांकि, यह एक तरह से वैल्यू टाइप की तरह व्यवहार करता है: स्ट्रिंग अपरिवर्तनीय होती हैं, इसलिए हर बदलाव एक नया स्ट्रिंग ऑब्जेक्ट बनाता है, न कि पुराने को एडिट करता है।

नलेबल टाइप, int या bool जैसे वैल्यू टाइप को null वैल्यू रखने की अनुमति देता है, जिसे अंत में प्रश्न चिह्न लगाकर लिखा जाता है, उदाहरण के लिए int?। यह वैकल्पिक डेटा और डेटाबेस फ़ील्ड के लिए उपयोगी है, जहाँ एक लुप्त मान को शून्य या false से अलग दर्शाया जाना आवश्यक है।

एक char में केवल एक यूनिकोड कैरेक्टर होता है और इसे सिंगल कोटेशन मार्क में लिखा जाता है, जैसे 'A'। एक string में शून्य या उससे अधिक कैरेक्टर का क्रम होता है और इसे डबल कोटेशन मार्क में लिखा जाता है। char एक वैल्यू टाइप है, जबकि string एक रेफरेंस टाइप है।

var कंपाइल टाइम पर वेरिएबल का टाइप निर्धारित करता है, और फिर उस टाइप को पूर्ण इंटेलिसेंस सपोर्ट के साथ फिक्स कर दिया जाता है। dynamic टाइप चेकिंग को रनटाइम तक टाल देता है, इसलिए टाइप एरर केवल एग्जीक्यूशन के दौरान ही सामने आते हैं। सुरक्षा के लिए var और फ्लेक्सिबल, लेट-बाउंड सिनेरियो के लिए dynamic का उपयोग करें।

हाँ। GitHub Copilot Visual Studio के अंदर टाइप डिक्लेरेशन, कन्वर्ज़न और बॉयलरप्लेट का सुझाव देता है। Visual Studio Codeयह एक उपयुक्त संख्यात्मक प्रकार की अनुशंसा कर सकता है या पार्सिंग कोड उत्पन्न कर सकता है, लेकिन आपको इसके आउटपुट की समीक्षा करनी चाहिए, क्योंकि सुझावों में परिशुद्धता या ओवरफ़्लो संबंधी समस्याएं छूट सकती हैं।

जी हां। ML.NET, C# डेटा प्रकारों को मॉडल विशेषताओं से मैप करता है, प्रशिक्षण डेटा के लिए फ्लोट और डबल जैसे संख्यात्मक प्रकारों और टेक्स्ट के लिए स्ट्रिंग का उपयोग करता है। स्ट्रॉन्गली टाइप्ड डेटा क्लास प्रत्येक कॉलम का वर्णन करते हैं, इसलिए मशीन लर्निंग मॉडल C# अनुप्रयोगों में स्वाभाविक रूप से एकीकृत हो जाते हैं।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: