Csharp/CSharp Tutorial/Data Structure/ArrayList Serialization

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Deserialize an ArrayList object from a binary file

<source lang="csharp">using System; using System.IO; using System.Collections; using System.Runtime.Serialization.Formatters.Soap; using System.Runtime.Serialization.Formatters.Binary; class MainClass {

   public static void Main()
   {
       ArrayList people = new ArrayList();
       people.Add("G");
       people.Add("L");
       people.Add("A");
       BinarySerialize(people);
       ArrayList binaryPeople = BinaryDeserialize();
       Console.WriteLine("Binary people:");
       foreach (string s in binaryPeople)
       {
           Console.WriteLine("\t" + s);
       }
   }
   private static void BinarySerialize(ArrayList list)
   {
       using (FileStream str = File.Create("people.bin"))
       {
           BinaryFormatter bf = new BinaryFormatter();
           bf.Serialize(str, list);
       }
   }
   private static ArrayList BinaryDeserialize()
   {
       ArrayList people = null;
       using (FileStream str = File.OpenRead("people.bin"))
       {
           BinaryFormatter bf = new BinaryFormatter();
           people = (ArrayList)bf.Deserialize(str);
       }
       return people;
   }

}</source>

Binary people:
        G
        L
        A

Deserialize an ArrayList object from a SOAP file

<source lang="csharp">using System; using System.IO; using System.Collections; using System.Runtime.Serialization.Formatters.Soap; using System.Runtime.Serialization.Formatters.Binary; class MainClass {

   public static void Main()
   {
       ArrayList people = new ArrayList();
       people.Add("G");
       people.Add("L");
       people.Add("A");
       SoapSerialize(people);
       ArrayList soapPeople = SoapDeserialize();
       Console.WriteLine("\nSOAP people:");
       foreach (string s in soapPeople)
       {
           Console.WriteLine("\t" + s);
       }
   }
   // Serialize an ArrayList object to a SOAP file.
   private static void SoapSerialize(ArrayList list)
   {
       using (FileStream str = File.Create("people.soap"))
       {
           SoapFormatter sf = new SoapFormatter();
           sf.Serialize(str, list);
       }
   }
   
   private static ArrayList SoapDeserialize()
   {
       ArrayList people = null;
       using (FileStream str = File.OpenRead("people.soap"))
       {
           SoapFormatter sf = new SoapFormatter();
           people = (ArrayList)sf.Deserialize(str);
       }
       return people;
   }

}</source>

SOAP people:
        G
        L
        A

Serialize an ArrayList object to a binary file

<source lang="csharp">using System; using System.IO; using System.Collections; using System.Runtime.Serialization.Formatters.Soap; using System.Runtime.Serialization.Formatters.Binary; class MainClass {

   public static void Main()
   {
       ArrayList people = new ArrayList();
       people.Add("G");
       people.Add("L");
       people.Add("A");
       BinarySerialize(people);
       ArrayList binaryPeople = BinaryDeserialize();
       Console.WriteLine("Binary people:");
       foreach (string s in binaryPeople)
       {
           Console.WriteLine("\t" + s);
       }
   }
   
   private static void BinarySerialize(ArrayList list)
   {
       using (FileStream str = File.Create("people.bin"))
       {
           BinaryFormatter bf = new BinaryFormatter();
           bf.Serialize(str, list);
       }
   }
   // Deserialize an ArrayList object from a binary file.
   private static ArrayList BinaryDeserialize()
   {
       ArrayList people = null;
       using (FileStream str = File.OpenRead("people.bin"))
       {
           BinaryFormatter bf = new BinaryFormatter();
           people = (ArrayList)bf.Deserialize(str);
       }
       return people;
   }

}</source>

Binary people:
        G
        L
        A

Serialize an ArrayList object to a SOAP file

<source lang="csharp">using System; using System.IO; using System.Collections; using System.Runtime.Serialization.Formatters.Soap; using System.Runtime.Serialization.Formatters.Binary; class MainClass {

   public static void Main()
   {
       ArrayList people = new ArrayList();
       people.Add("G");
       people.Add("L");
       people.Add("A");
       SoapSerialize(people);
       ArrayList soapPeople = SoapDeserialize();
       Console.WriteLine("\nSOAP people:");
       foreach (string s in soapPeople)
       {
           Console.WriteLine("\t" + s);
       }
   }
   private static void SoapSerialize(ArrayList list)
   {
       using (FileStream str = File.Create("people.soap"))
       {
           SoapFormatter sf = new SoapFormatter();
           sf.Serialize(str, list);
       }
   }
   private static ArrayList SoapDeserialize()
   {
       ArrayList people = null;
       using (FileStream str = File.OpenRead("people.soap"))
       {
           SoapFormatter sf = new SoapFormatter();
           people = (ArrayList)sf.Deserialize(str);
       }
       return people;
   }

}</source>

SOAP people:
        G
        L
        A