Serileştirmesiz: Dosyayı oku, okuduğun metni parçala, tüm parçalar için nesnenin kurucusunu çağır... Serileştirme: Dosyayı oku, nesneleri al. http://www.dotnetperls.com/serialize-list Olaylara karışmayın!

selamlar, tam anlamadım ama şyle basitçe bir şeyler açıklayayım.. Elinde bir sınıfın var hocam ve bu sınıfındaki verileri kaydetmek istiyorsun, bu verileri normal txt dosyasında da saklayabilirsin ama kendi "yapı" nı kurman gerekiyor, ona gre de kod yazacaksın. Mesela atıyorum ayraç olarak virgül kullandıysan ona gre verilerini okurken ve nesnene atarken bunu gznünde bulundurmalısın, peki buradaki esneklik ne kadar? birine servis yazdın diyelim ve bu oluşturduğun yapıya kayıtlı olan X sınıfı da sundun. Şimdi bu kişi bu xml i kullanarak tekrar kod yazarak X sınıfndan yaratılmış bir nesneye atamak zorunda , ama bu oluşturduğun dosya XML türünden bir serilize geçirmişse, bu kişinin yapacağı şey sadece dosyanın parametresini verip deserilize edip X classının rneğine atamak. Bu şekilde standardizasyon yakalamış olursun. Bunun haricinde, istediğin şekilde nesneleri serilizeye dahil edip etmeme senin elinde ve bunu deserilizede sıkıntısız halledebiliyorsun. Mesela X class ında a, b, c de diye property lerin olsun ama sen c nin serilize olmasını istemiyorsun, bunu hariç tutma şansın var. Deserilize ederken de c nin bir değer olmadığı için sorun olmadan tekrar değerleri okuyabilirsin, başka bir zaman da b yi dışında tutmak istersen, yapacağın iş sadece class ındaki b properysini NonSerialized etiketi ile etiketlemen. Bunun dışında başka bir şeyle uğraşmana gerek yok. Yine başka bir rnek verirsem, X classındaki propertyler a, b, c olsun ama sonra d, e, f diye başka proprtyler de ekledin ve bunlardan bazıları da custom class list. Yani başka bir sınıftaki ğeleri barındıran listeler.. Bunu elle kaydetmen, yapısını kendin oluşturman gayet uğraştırıcı bir şey. Ama serilize işleminde hiç bir şey yapmana gerek yok, d, e, f yi ekle class ına o kadar.. Herhangi bir kod yazamana gerek yok serilize ya da deserilize için. Bunun gibi avantajları var. Küçük projelerde nemsiz grünse de büyük projelerde nem kazanıyor, zellikle complex bir class a sahipsen ve değişim sürekliyse ve projede başka kişiler de çalışıyorsa mantıklı olan yol budur. umarım açıklayabilmişimdir Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

aslında bir nevi nosql gibi bişey oluyur değil mi?

classinin her alanini tek tek okuyup alt classlarina da tek tek girip dosyaya yazmak istemiyorsan serilestirmen lazim. Performans farki tabiki var cunku daha alt katmanda bitiriyor isi Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı ktektir!

ilginç benzetme ama evet yle düşünebilirsin :) belirli bir yapıda kaydediyor ve metin tabanlı Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Merhaba Arkadaşlar, C# ta serileştirme işleminin normal dosyayı klasre kaydetmekle ne farkı var. performans farkı var mı? yada neden serileştirmeliyim dosyalarımı? Soruyu soramamış olabilirim herhalde tam anlamadım bu konuyu :) yardımlarınız için şimdiden teşekkürler.