उदाहरण के साथ C# में क्रमांकन और क्रमांकन

C# में क्रमांकन और क्रमांकन

ऑब्जेक्ट से संबंधित डेटा को एक एप्लिकेशन से दूसरे एप्लिकेशन में भेजने के लिए सीरियलाइज़ेशन और डीसीरियलाइज़ेशन की अवधारणा का उपयोग किया जाता है। सीरियलाइज़ेशन का उपयोग एप्लिकेशन डेटा को एक फ़ाइल में निर्यात करने के लिए किया जाता है। गंतव्य एप्लिकेशन फिर डीसीरियलाइज़ेशन का उपयोग करके डेटा को पुनः प्राप्त करता है।tracआगे उपयोग के लिए आवेदन से प्राप्त डेटा।

सीरियलाइजेशन एक अवधारणा है जिसमें C# क्लास ऑब्जेक्ट को फ़ाइलों में लिखा या सीरियलाइज़ किया जाता है। मान लीजिए कि आपके पास ट्यूटोरियल नामक एक C# क्लास है। और क्लास में ID और ट्यूटोरियल नाम की 2 प्रॉपर्टी हैं।

सीरियलाइज़ेशन का उपयोग ट्यूटोरियल क्लास के डेटा गुणों को सीधे फ़ाइल में लिखने के लिए किया जा सकता है। डिसेरियलाइज़ेशन का उपयोग फ़ाइल से डेटा पढ़ने और ट्यूटोरियल ऑब्जेक्ट को फिर से बनाने के लिए किया जाता है।

C# में किसी ऑब्जेक्ट को सीरियलाइज़ कैसे करें

आइये एक उदाहरण देखें कि हम इसे कैसे प्राप्त कर सकते हैं।

हमारे उदाहरण में, हम कोड में नीचे दिए गए उच्च-स्तरीय चरणों का पालन करने जा रहे हैं

  1. ट्यूटोरियल नामक एक क्लास बनाएं जिसमें 2 गुण हों, अर्थात् आईडी, और नाम
  2. फिर हम क्लास से एक ऑब्जेक्ट बनाएंगे और ID प्रॉपर्टी को “1” का मान और name प्रॉपर्टी को “.Net” का मान देंगे।
  3. फिर हम उपरोक्त ऑब्जेक्ट को Example.txt नामक फ़ाइल में क्रमबद्ध करने के लिए क्रमांकन का उपयोग करेंगे
  4. अंत में, हम फ़ाइल से ऑब्जेक्ट को डीसेरिएलाइज़ करने और कंसोल में मान प्रदर्शित करने के लिए डीसेरिएलाइज़ेशन का उपयोग करेंगे।


कंसोल एप्लिकेशन की program.cs फ़ाइल में नीचे दिया गया कोड दर्ज करें।

चरण 1) कक्षा जोड़ें.

पहला चरण वह वर्ग जोड़ना है जिसका उपयोग क्रमांकन के लिए किया जाएगा

C# में किसी ऑब्जेक्ट को सीरियलाइज़ करें

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

  1. जिस क्लास को सीरियलाइज़ किया जाना है, उसमें [Serializable] विशेषता होनी चाहिए। यह C# में एक कीवर्ड है। यह कीवर्ड फिर ट्यूटोरियल क्लास से जुड़ा होता है। यदि आप इस विशेषता का उल्लेख नहीं करते हैं, तो क्लास को सीरियलाइज़ करने का प्रयास करते समय आपको एक त्रुटि मिलेगी।
  2. अगला चरण उस क्लास की परिभाषा है जिसे सीरियलाइज़ किया जाएगा। यहाँ हम “ट्यूटोरियल” नामक एक क्लास को परिभाषित कर रहे हैं और 2 गुण प्रदान कर रहे हैं, एक “आईडी” और दूसरा “नाम” है।

चरण 2) ऑब्जेक्ट बनाएं.

इस चरण में, सबसे पहले हम ट्यूटोरियल क्लास का ऑब्जेक्ट बनाएंगे और उसे Example.txt नामक फ़ाइल में क्रमबद्ध करेंगे

C# में किसी ऑब्जेक्ट को सीरियलाइज़ करें

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

  1. सबसे पहले, हम ट्यूटोरियल क्लास का एक ऑब्जेक्ट बनाते हैं। फिर हम ID को “1” और नाम प्रॉपर्टी को “.net” का मान देते हैं।
  2. फिर हम फ़ॉर्मेटर क्लास का उपयोग करते हैं जिसका उपयोग ऑब्जेक्ट को बाइनरी फ़ॉर्मेट में सीरियलाइज़ या कन्वर्ट करने के लिए किया जाता है। सीरियलाइज़ेशन में फ़ाइल में डेटा बाइनरी फ़ॉर्मेट में किया जाता है। इसके बाद, हम एक फ़ाइल स्ट्रीम ऑब्जेक्ट बनाते हैं। फ़ाइल स्ट्रीम ऑब्जेक्ट का उपयोग लेखन उद्देश्यों के लिए फ़ाइल Example.txt को खोलने के लिए किया जाता है। FileMode.Create और FileMode.Write कीवर्ड का उपयोग विशेष रूप से यह उल्लेख करने के लिए किया जाता है कि फ़ाइल को लेखन उद्देश्यों के लिए खोला जाना चाहिए।
  3. अंत में, हम बाइनरी डेटा को फ़ाइल में स्थानांतरित करने के लिए Serialize विधि का उपयोग करते हैं। फिर हम स्ट्रीम को बंद कर देते हैं, क्योंकि लेखन आपरेशन पूरा है।

चरण 3) विक्रमीकरण का उपयोग करें.

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

C# में किसी ऑब्जेक्ट को सीरियलाइज़ करें

using System;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  [Serializable]
  class Tutorial
  {
  public int ID;
  public String Name;
   static void Main(string[] args)
   {
    Tutorial obj = new Tutorial();
    obj.ID = 1;
    obj.Name = ".Net";

    IFormatter formatter = new BinaryFormatter();
    Stream stream = new FileStream(@"E:\ExampleNew.txt",FileMode.Create,FileAccess.Write);

    formatter.Serialize(stream, obj);
    stream.Close();

    stream = new FileStream(@"E:\ExampleNew.txt",FileMode.Open,FileAccess.Read);
    Tutorial objnew = (Tutorial)formatter.Deserialize(stream);

    Console.WriteLine(objnew.ID);
    Console.WriteLine(objnew.Name);

    Console.ReadKey();
  }
 }
}

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

  1. हम वस्तु बनाते हैं “धाराExample.txt फ़ाइल को केवल पढ़ने के लिए खोलने के लिए ” दबाएँ।
  2. फिर हम फ़ॉर्मेटर क्लास का उपयोग करते हैं जिसका उपयोग ऑब्जेक्ट को डीसेरीलाइज़ करने के लिए किया जाता है, जिसे Example.txt फ़ाइल में संग्रहीत किया जाता है। लौटाए गए ऑब्जेक्ट को ऑब्जेक्ट objnew पर सेट किया जाता है।
  3. अंत में, हम “ID” और “name” गुणों का उपयोग करके कंसोल पर ऑब्जेक्ट “objnew” के गुण प्रदर्शित करते हैं।

जब उपरोक्त कोड सेट किया जाता है, और प्रोजेक्ट का उपयोग करके चलाया जाता है विजुअल स्टूडियो, आपको नीचे दिया गया आउटपुट मिलेगा।

आउटपुट: -

C# में किसी ऑब्जेक्ट को सीरियलाइज़ करें

आप उपरोक्त आउटपुट से देख सकते हैं कि फ़ाइल से मान ठीक से विक्रमबद्ध किए गए थे और कंसोल में प्रदर्शित किए गए थे।

सारांश

सीरियलाइजेशन का उपयोग क्लास ऑब्जेक्ट्स को फ़ाइलों में लिखने के लिए किया जाता है।

डी-सीरियलाइजेशन का उपयोग फ़ाइल से ऑब्जेक्ट्स को पुनर्प्राप्त करने के लिए किया जाता है।

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