<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FClass%2FClass_Serialization</id>
		<title>Csharp/CSharp Tutorial/Class/Class Serialization - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FClass%2FClass_Serialization"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/Class_Serialization&amp;action=history"/>
		<updated>2026-04-29T14:55:27Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/Class_Serialization&amp;diff=5659&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/Class_Serialization&amp;diff=5659&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/Class_Serialization&amp;diff=5660&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/Class_Serialization&amp;diff=5660&amp;oldid=prev"/>
				<updated>2010-05-26T12:16:08Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Using the binary reader and writer for psuedo-serialization==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Collections.Specialized;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.IO.rupression;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Net.Mail;&lt;br /&gt;
using System.Runtime.InteropServices;&lt;br /&gt;
using System.Text;&lt;br /&gt;
&lt;br /&gt;
struct Employee&lt;br /&gt;
{&lt;br /&gt;
    public string FirstName;&lt;br /&gt;
    public string LastName;&lt;br /&gt;
    public int Extension;&lt;br /&gt;
    public string SocialSecurityNumber;&lt;br /&gt;
    public bool Salaried;&lt;br /&gt;
    public Employee(string firstName, string lastName, int extension, string ssn, bool salaried)&lt;br /&gt;
    {&lt;br /&gt;
        this.FirstName = firstName;&lt;br /&gt;
        this.LastName = lastName;&lt;br /&gt;
        this.Extension = extension;&lt;br /&gt;
        this.SocialSecurityNumber = ssn;&lt;br /&gt;
        this.Salaried = salaried;&lt;br /&gt;
    }&lt;br /&gt;
    public override string ToString()&lt;br /&gt;
    {&lt;br /&gt;
        return string.Format(&amp;quot;{0}, {1}; {2}; {3}; {4}&amp;quot;, LastName, FirstName, Extension, SocialSecurityNumber, Salaried);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
    private static List&amp;lt;Employee&amp;gt; CreateEmployees()&lt;br /&gt;
    {&lt;br /&gt;
        List&amp;lt;Employee&amp;gt; emps = new List&amp;lt;Employee&amp;gt;();&lt;br /&gt;
        emps.Add(new Employee(&amp;quot;J&amp;quot;, &amp;quot;D&amp;quot;, 3, &amp;quot;001-21-2232&amp;quot;, true));&lt;br /&gt;
        emps.Add(new Employee(&amp;quot;G&amp;quot;, &amp;quot;B&amp;quot;, 5, &amp;quot;001-21-0002&amp;quot;, true));&lt;br /&gt;
        emps.Add(new Employee(&amp;quot;J&amp;quot;, &amp;quot;R&amp;quot;, 9, &amp;quot;322-21-4321&amp;quot;, false));&lt;br /&gt;
        emps.Add(new Employee(&amp;quot;B&amp;quot;, &amp;quot;B&amp;quot;, 3, &amp;quot;331-22-1211&amp;quot;, true));&lt;br /&gt;
        emps.Add(new Employee(&amp;quot;H&amp;quot;, &amp;quot;S&amp;quot;, 9, &amp;quot;991-28-2777&amp;quot;, false));&lt;br /&gt;
        return emps;&lt;br /&gt;
    }&lt;br /&gt;
    private static List&amp;lt;Employee&amp;gt; DeserializeEmployees(Stream s)&lt;br /&gt;
    {&lt;br /&gt;
        List&amp;lt;Employee&amp;gt; employees = new List&amp;lt;Employee&amp;gt;();&lt;br /&gt;
        BinaryReader reader = new BinaryReader(s);&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            while (true)&lt;br /&gt;
            {&lt;br /&gt;
                Employee e = new Employee();&lt;br /&gt;
                e.FirstName = reader.ReadString();&lt;br /&gt;
                e.LastName = reader.ReadString();&lt;br /&gt;
                e.Extension = reader.ReadInt32();&lt;br /&gt;
                e.SocialSecurityNumber = reader.ReadString();&lt;br /&gt;
                e.Salaried = reader.ReadBoolean();&lt;br /&gt;
                employees.Add(e);&lt;br /&gt;
                Console.WriteLine(&amp;quot;Read: {0}&amp;quot;, e.ToString());&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        catch (EndOfStreamException)&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
        return employees;&lt;br /&gt;
    }&lt;br /&gt;
    private static void SerializeEmployees(Stream s, IEnumerable&amp;lt;Employee&amp;gt; employees)&lt;br /&gt;
    {&lt;br /&gt;
        BinaryWriter writer = new BinaryWriter(s);&lt;br /&gt;
        foreach (Employee e in employees)&lt;br /&gt;
        {&lt;br /&gt;
            writer.Write(e.FirstName);&lt;br /&gt;
            writer.Write(e.LastName);&lt;br /&gt;
            writer.Write(e.Extension);&lt;br /&gt;
            writer.Write(e.SocialSecurityNumber);&lt;br /&gt;
            writer.Write(e.Salaried);&lt;br /&gt;
            Console.WriteLine(&amp;quot;Wrote: {0}&amp;quot;, e.ToString());&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        Stream s = new MemoryStream();&lt;br /&gt;
        IEnumerable&amp;lt;Employee&amp;gt; employees = CreateEmployees();&lt;br /&gt;
        SerializeEmployees(s, employees);&lt;br /&gt;
        s.Seek(0, SeekOrigin.Begin);&lt;br /&gt;
        DeserializeEmployees(s);&lt;br /&gt;
        s.Seek(0, SeekOrigin.Begin);&lt;br /&gt;
        int read;&lt;br /&gt;
        while ((read = s.ReadByte()) != -1)&lt;br /&gt;
            Console.Write(&amp;quot;{0:X} &amp;quot;, read);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Wrote: D, J; 3; 001-21-2232; True&lt;br /&gt;
Wrote: B, G; 5; 001-21-0002; True&lt;br /&gt;
Wrote: R, J; 9; 322-21-4321; False&lt;br /&gt;
Wrote: B, B; 3; 331-22-1211; True&lt;br /&gt;
Wrote: S, H; 9; 991-28-2777; False&lt;br /&gt;
Read: D, J; 3; 001-21-2232; True&lt;br /&gt;
Read: B, G; 5; 001-21-0002; True&lt;br /&gt;
Read: R, J; 9; 322-21-4321; False&lt;br /&gt;
Read: B, B; 3; 331-22-1211; True&lt;br /&gt;
Read: S, H; 9; 991-28-2777; False&lt;br /&gt;
1 4A 1 44 3 0 0 0 B 30 30 31 2D 32 31 2D 32 32 33 32 1 1 47 1 42 5 0 0 0 B 30 30 31 2D 32 31 2D 30 3&lt;br /&gt;
0 30 32 1 1 4A 1 52 9 0 0 0 B 33 32 32 2D 32 31 2D 34 33 32 31 0 1 42 1 42 3 0 0 0 B 33 33 31 2D 32&lt;br /&gt;
32 2D 31 32 31 31 1 1 48 1 53 9 0 0 0 B 39 39 31 2D 32 38 2D 32 37 37 37 0&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>