zoukankan      html  css  js  c++  java
  • 使用SoapFormatter 类序列化

    using System;
    using System.IO;
    using System.Collections;
    using System.Runtime.Serialization;

    // Note: When building this code, you must reference the
    // System.Runtime.Serialization.Formatters.Soap.dll assembly.
    using System.Runtime.Serialization.Formatters.Soap;


    class App
    {
        [STAThread]
        static void Main()
        {
            Serialize();
            Deserialize();
        }

        static void Serialize()
        {
            // Create a hashtable of values that will eventually be serialized.
            Hashtable addresses = new Hashtable();
            addresses.Add("Jeff", "123 Main Street, Redmond, WA 98052");
            addresses.Add("Fred", "987 Pine Road, Phila., PA 19116");
            addresses.Add("Mary", "PO Box 112233, Palo Alto, CA 94301");

            // To serialize the hashtable (and its key/value pairs),
            // you must first open a stream for writing.
            // Use a file stream here.
            FileStream fs = new FileStream("DataFile.soap", FileMode.Create);

            // Construct a SoapFormatter and use it
            // to serialize the data to the stream.
            SoapFormatter formatter = new SoapFormatter();
            try
            {
                formatter.Serialize(fs, addresses);
            }
            catch (SerializationException e)
            {
                Console.WriteLine("Failed to serialize. Reason: " + e.Message);
                throw;
            }
            finally
            {
                fs.Close();
            }
        }

      
        static void Deserialize()
        {
            // Declare the hashtable reference.
            Hashtable addresses  = null;

            // Open the file containing the data that you want to deserialize.
            FileStream fs = new FileStream("DataFile.soap", FileMode.Open);
            try
            {
                SoapFormatter formatter = new SoapFormatter();

                // Deserialize the hashtable from the file and
                // assign the reference to the local variable.
                addresses = (Hashtable) formatter.Deserialize(fs);
            }
            catch (SerializationException e)
            {
                Console.WriteLine("Failed to deserialize. Reason: " + e.Message);
                throw;
            }
            finally
            {
                fs.Close();
            }

            // To prove that the table deserialized correctly,
            // display the key/value pairs to the console.
            foreach (DictionaryEntry de in addresses)
            {
                Console.WriteLine("{0} lives at {1}.", de.Key, de.Value);
            }
        }
    }
  • 相关阅读:
    常用函数的DTFT变换对和z变换对
    (转载)3D 图形编程的数学基础(2) 矩阵及其运算
    (转载)3D 图形编程的数学基础(1) 向量及其运算
    (转载)3D数学 ---- 矩阵的更多知识
    (转载)3D数学 ---- 矩阵和线性变换
    (转载)3D数学 --- 矩阵篇
    (转载)一个图形爱好者的书架
    (转载)虚幻引擎3--基础知识
    (转)虚幻引擎3--Unreal角色技术指南
    (转载)虚幻引擎3--UDK常用函数汇总--比较详细解释了一些类中的函数(有用,星月自己备注)
  • 原文地址:https://www.cnblogs.com/zhuawang/p/2087653.html
Copyright © 2011-2022 走看看