Respond needs javascript to run. To find out more click here
c# 2 li formata dönüştürme » Serdar Demir
RSS
 

Posts Tagged ‘c# 2 li formata dönüştürme’

C# ta serialization ve deserialization işlemleri

07 Mar

C# ta serialization ve deserialization işlemleri

C# t serileştirme işlemleri: Oluşturduğumuz nesnelerin bilgilerini içeriğini bilgisayarımızın herhangi bir yerine kaydederek depolama işlemi olarak açıklayabiliriz.

.Net içerisinde çeşitli serileştirme yöntemleri vardır (binary, xml, SOAP) biz binary yani ikili serileştirmeyi inceleyelim.

Öncelikle serileştirme yapacağımız sınıfın ISerializable interfaceni desteklemesi gerekir. Binary serileştirme diğer serileştirmelere göre daha hızlıdır fakat içeriğini 2’lik sistem de olduğu için okuyamayız. Binary serileştirme işlemini yapabilmek için System.Runtime.Serialization.Formatters.Binary kütüphanesini ekliyoruz. Basit bir class yazarak bunu binary formata dönüştürüp bilgisayarımıza kaydedelim.

[Serializable]

class İsci

{

public int Maas;

public string AdSoyad;

public DateTime DogumTairihi;

}

Classımızı oluşturduk;

İsci yeni = new İsci();

yeni.Maas = 1000;

yeni.AdSoyad = “serdar demir”;

yeni.DogumTairihi = new DateTime(1988, 04,14);

FileStream yaz = new FileStream(@”d:\isci.txt”,FileMode.Create);

BinaryFormatter obf = new BinaryFormatter();

obf.Serialize(yaz, yeni);

bu işlemi yaptığımızda d sürcüsüne isci nesnesinin bilgilerinin olduğu bir dosya oluşturduk. Fakat bu dosyayı açtığımızda okuyamıyoruz.

Şimdi de 2 li formattaki bu dosyamızı deserialize işlemiyle okuyalım (not:eğer bir sınıf içerisinde bazı üyelerin serileştirilmesini engellemek isterseniz NonSerialized yapmanız gerekir.)

İsci yeni = new İsci() ;

FileStream oku = new FileStream(@”d:\isci.txt”, FileMode.Open);

BinaryFormatter obf = new BinaryFormatter();

yeni = (İsci)obf.Deserialize(oku);

MessageBox.Show(yeni.Maas + “,” + yeni.AdSoyad + “,” + yeni.DogumTairihi, “Deserialize İşlemi”);

Serileştirme işleminde hız ve boyut önemli oldugu için 2 li serileştirme tavsiye edilir. Xml formata çevirmek büyük datasetlerin oldugu durumlarda hem boyutu büyük hem veriye ulaşma uzun sürebilir.

 
No Comments

Posted in C#, Makaleler