serialization و deserialization یعنی چی؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

serialization و deserialization یعنی چی؟

+1 امتیاز
سلاه به دوستان.

تو کجاها ما از serialization و deserialization استفاده می کنیم و چه کاربردی دارن.؟
سوال شده آذر 12, 1392  بوسیله ی BAHARE (امتیاز 35)   4 5 8

2 پاسخ

+2 امتیاز
 
بهترین پاسخ
یعنی ذخیره اطلاعات در حافظه یا دیسک و بازیابی آن .در مواردی به صورت باینری هستش که با دیدن محتواش چیزی ازش سر در نمیارین و در موارد دیگر فایل xml که با دیدن محتواش می تونید از اطلاعات داخلش تا حدودی سر در بیارین .برای اینکه یک کلاس دارای همچین قابلیتی باشه از [Serializable] در ابتدای کلاس استفاده می کنیم.
 
public void Run()
{
    Dog myDog = new Dog();
    myDog.Name= "Foo";
    myDog.Color = DogColor.Brown;

    System.Console.WriteLine("{0}", myDog.ToString());

    MemoryStream stream = SerializeToStream(myDog);

    Dog newDog = (Dog)DeserializeFromStream(stream);

    System.Console.WriteLine("{0}", newDog.ToString());
}

 

[Serializable]
public enum DogColor
{
    Brown,
    Black,
    Mottled
}

[Serializable]
public class Dog
{
    public String Name
    {
        get; set;
    }

    public DogColor Color
    {
        get;set;
    }

    public override String ToString()
    {
        return String.Format("Dog: {0}/{1}", Name, Color);
    }
}

 

 public static MemoryStream SerializeToStream(object o)
    {
        MemoryStream stream = new MemoryStream();
        IFormatter formatter = new BinaryFormatter();
        formatter.Serialize(stream, o);
        return stream;
    }

    public static object DeserializeFromStream(MemoryStream stream)
    {
        IFormatter formatter = new BinaryFormatter();
        stream.Seek(0, SeekOrigin.Begin);
        object o = formatter.Deserialize(stream);
        return o;
    }

 

 

پاسخ داده شده آذر 14, 1392 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد آذر 15, 1392 بوسیله ی BlueBlade
+1 امتیاز
در جاهایی که نمیتونیم اشیا رو به شکلی که همینطوری در حافظه هستند منتقل کنیم یا نگهداری کنیم.

نمونش هم ارسال اشیا در شبکه یا نگهداری اونها بین اجرا های مختلف برنامه(فایل های config)
پاسخ داده شده آذر 14, 1392 بوسیله ی FastCode (امتیاز 602)   1 2 11
...