BCA / B.Tech 14 min read

Boxing & Unboxing in ADO.NET in Hindi

Boxing & Unboxing in ADO.NET in Hindi | ADO.NET में बॉक्सिंग और अनबॉक्सिंग हिंदी में :


  • ADO.NET में बॉक्सिंग और अनबॉक्सिंग महत्वपूर्ण अवधारणाएँ हैं, जो .NET फ्रेमवर्क की टाइप सिस्टम में डेटा प्रकारों के प्रबंधन से संबंधित हैं। इन अवधारणाओं को समझने से ADO.NET के साथ काम करते समय प्रदर्शन और डेटा टाइप्स को हैंडल करने में मदद मिलती है।
  • बॉक्सिंग और अनबॉक्सिंग .NET में एक महत्वपूर्ण अवधारणा है, खासकर ADO.NET में डेटा एक्सेस करने के समय। यह डेवलपर्स को डेटा के विभिन्न प्रकारों को हैंडल करने की क्षमता देता है, लेकिन इसका अत्यधिक उपयोग करने से एप्लिकेशन का प्रदर्शन प्रभावित हो सकता है। 
  • उचित प्रबंधन और ऑप्टिमाइजेशन तकनीकों का उपयोग करके बॉक्सिंग और अनबॉक्सिंग की आवश्यकता को कम किया जा सकता है और ADO.NET एप्लिकेशन की कार्यक्षमता और दक्षता को बढ़ाया जा सकता है।
Introduction of Boxing & Unboxing in ADO.NET in Hindi | ADO.NET में बॉक्सिंग और अनबॉक्सिंग का परिचय :

.NET फ्रेमवर्क में डेटा टाइप्स दो प्रकार के होते हैं:

  • वैल्यू टाइप्स (Value Types) - जैसे कि int, float, double, आदि। ये स्टैक मेमोरी में संग्रहीत होते हैं।
  • रेफरेंस टाइप्स (Reference Types) - जैसे कि object, string, class, आदि। ये हीप मेमोरी में संग्रहीत होते हैं।
  • ADO.NET एक डेटा एक्सेस तकनीक है जिसका उपयोग .NET एप्लिकेशन में डेटा एक्सेस और मैनेजमेंट के लिए किया जाता है। ADO.NET के साथ काम करते समय, कभी-कभी हमें वैल्यू टाइप्स को रेफरेंस टाइप्स में कन्वर्ट करना होता है, ताकि उन्हें ADO.NET ऑब्जेक्ट मॉडल में उपयोग किया जा सके। इस प्रक्रिया को बॉक्सिंग कहा जाता है। इसी प्रकार, यदि हमें रेफरेंस टाइप को वापस वैल्यू टाइप में बदलना हो तो इसे अनबॉक्सिंग कहते हैं।

Boxing in Hindi | बॉक्सिंग :

बॉक्सिंग वह प्रक्रिया है जिसमें वैल्यू टाइप को रेफरेंस टाइप (आमतौर पर object) में परिवर्तित किया जाता है। जब हम वैल्यू टाइप्स (जैसे कि int, float, आदि) को ADO.NET के किसी ऑब्जेक्ट मॉडल में भेजते हैं, तो इसे ऑटोमेटिकली object टाइप में कन्वर्ट किया जाता है।

बॉक्सिंग का उदाहरण :


int number = 100;        // यह एक वैल्यू टाइप है
object obj = number;     // बॉक्सिंग - वैल्यू टाइप को object टाइप में बदलना

इसमें, number नाम का एक वैल्यू टाइप (int) वैल्यू को object में बॉक्स कर दिया गया है। इस प्रक्रिया के दौरान, एक नया ऑब्जेक्ट हीप में क्रिएट किया जाता है और वैल्यू को इस ऑब्जेक्ट में स्टोर किया जाता है।

Unboxing in Hindi | अनबॉक्सिंग :

अनबॉक्सिंग बॉक्सिंग का रिवर्स है, जिसमें एक object टाइप (रेफरेंस टाइप) को वापस वैल्यू टाइप में कन्वर्ट किया जाता है। अनबॉक्सिंग के लिए आवश्यक है कि ऑब्जेक्ट वास्तव में वही टाइप हो जिसमें इसे कन्वर्ट करना है, अन्यथा यह रनटाइम एरर देगा।

अनबॉक्सिंग का उदाहरण

object obj = 100;    // बॉक्सिंग हो गई
int number = (int)obj;   // अनबॉक्सिंग - object टाइप को int टाइप में बदलना
इसमें obj ऑब्जेक्ट को int में अनबॉक्स किया गया है। यदि obj में कोई अन्य डेटा टाइप होता, तो अनबॉक्सिंग प्रक्रिया में एरर आती।

Use of Boxing & Unboxing in ADO.NET in Hindi | ADO.NET में बॉक्सिंग और अनबॉक्सिंग के उपयोग :

  • ADO.NET में बॉक्सिंग और अनबॉक्सिंग का उपयोग मुख्य रूप से तब होता है जब हम डेटा को डेटाबेस से रिट्रीव करते हैं या डेटाबेस में इनसर्ट करते हैं।
  • ADO.NET में डेटाबेस से डेटा प्राप्त करने के बाद वह डेटा अक्सर object के रूप में लौटता है।
  • इसे वैल्यू टाइप्स में बदलने के लिए अनबॉक्सिंग का उपयोग करना पड़ता है।
  • उदाहरण के लिए, जब हम SqlDataReader या DataTable का उपयोग करके डेटा को पढ़ते हैं, तो उस डेटा को विशेष वैल्यू टाइप्स में कन्वर्ट करने के लिए हमें अनबॉक्सिंग करनी पड़ती है।
Examples of ADO.NET in Hindi | ADO.NET में उदाहरण :

SqlConnection connection = new SqlConnection("connection_string_here");
SqlCommand command = new SqlCommand("SELECT Age FROM Users WHERE UserId = 1", connection);

connection.Open();
SqlDataReader reader = command.ExecuteReader();

if (reader.Read())
{
    object ageObj = reader["Age"]; // बॉक्सिंग - रिट्रीव किया गया डेटा object के रूप में
    int age = (int)ageObj;          // अनबॉक्सिंग - object टाइप को int में कन्वर्ट करना
    Console.WriteLine("Age: " + age);
}

connection.Close();

इस कोड में:

SqlDataReader डेटाबेस से Age कॉलम का डेटा object के रूप में पढ़ता है।
ageObj ऑब्जेक्ट को int में अनबॉक्स करके वैल्यू टाइप में बदला गया है।

ADO.NET in Object Model in Hindi | ADO.NET में ऑब्जेक्ट मॉडल :

ADO.NET का ऑब्जेक्ट मॉडल डेटा एक्सेस करने के लिए विभिन्न ऑब्जेक्ट्स प्रदान करता है:

  • Connection Objects: डेटा स्रोत से कनेक्शन स्थापित करता है (जैसे SqlConnection, OleDbConnection)।
  • Command Objects: SQL कमांड्स को निष्पादित करने के लिए उपयोग किया जाता है (जैसे SqlCommand, OleDbCommand)।
  • DataReader Objects: डेटा को फॉरवर्ड-ओनली और रीड-ओनली मोड में पढ़ने के लिए उपयोग होता है।
  • DataSet and DataTable Objects: डेटा को कलेक्ट और मैनेज करने के लिए उपयोग किया जाता है।

Performance of Boxing & Unboxing in ADO.NET in Hindi | ADO.NET में बॉक्सिंग और अनबॉक्सिंग से प्रदर्शन : 

  • ADO.NET में बॉक्सिंग और अनबॉक्सिंग का उपयोग अत्यधिक होने से प्रदर्शन पर असर पड़ सकता है। बॉक्सिंग और अनबॉक्सिंग के दौरान अतिरिक्त मेमोरी की आवश्यकता होती है और हीप में नए ऑब्जेक्ट्स बनाए जाते हैं, जो Garbage Collection (GC) का कारण बन सकते हैं। इससे एप्लिकेशन धीमा हो सकता है।
उदाहरण:

यदि डेटाबेस में वैल्यू टाइप्स की अधिक संख्या हो और उन्हें बार-बार बॉक्स और अनबॉक्स करना पड़े, तो प्रदर्शन कम हो सकता है।
अधिक बॉक्सिंग और अनबॉक्सिंग से मेमोरी की खपत भी बढ़ती है, जिससे Garbage Collection पर लोड बढ़ जाता है।

बॉक्सिंग और अनबॉक्सिंग से बचने के उपाय :

  • Nullable Types: बॉक्सिंग से बचने के लिए Nullable Types का उपयोग कर सकते हैं, विशेष रूप से जब वैल्यू null हो सकती है।
  • Generic Collections: ADO.NET में डेटा को प्रोसेस करते समय Generic Collections (जैसे List<T>, Dictionary<T>) का उपयोग करना बॉक्सिंग से बचने का एक अच्छा तरीका है।
  • Avoid Frequent Casting: बार-बार टाइप कास्टिंग और अनबॉक्सिंग से बचें।
  • Type-Safe Data Access: ADO.NET में टाइप-सुरक्षित डेटा एक्सेस के लिए प्रयास करें।

In this Chapter

Boxing & Unboxing in ADO.NET in Hindi
Introduction of .Net in Hindi
Web Services in Hindi | वेब सर्विसेस हिंदी में
WSDL in Hindi | WSDL हिंदी में
CLR in Hindi | CLR क्या है?
Common Types System in Hindi
MSIL in Hindi
Assemblies & Class Libraries in Hindi
Project of .Net in Hindi
What is VB.NET and IDE in Hindi | वीबी.नेट क्या है ?
Intermediate Language in Hindi
Object Orientation in Hindi
Managed Execution in Hindi
Rapid Development in Hindi
Windows Presentation Foundation in Hindi
Whats new For .NET framework 3.5?
Windows Workflow Foundation (WWF) in Hindi
Windows Card Space in Hindi
Windows Communication Foundation in Hindi
How To Install and Use The Visual Studio 2008
How to Working With Visual Studio 2008
Types of Visual Studio 2008 in Hindi
Visual Studio 2008 IDE in Hindi
How To Create Console Application in Hindi
Introduction of C# in .NET in Hindi
Classes of .NET With C# in Hindi
Properties of .NET With C# in Hindi
Structs in C# .NET in Hindi
Delegates & Events in Hindi
Generic Collections in .NET (C#) in Hindi
Type Safety in Hindi
Nullable Types in .NET in Hindi
ADO.NET in Hindi | ADO.NET क्या है?
SQL Connection Object in Hindi
SQL Command in Hindi
LINQ in Hindi | LINQ क्या है?
What is Using Stored Procedures?
Windows Application in .NET in Hindi | Windows Application क्या है?
BCA || .NET with C# 2023 Paper | MDSU Exam Paper
.NET with C# All Important Questions and Answers in Hindi (MDSU)
BCA || .NET with C# 2025 Paper | MDSU Exam Paper