(点击上方蓝字,可快速 //二进制格式序列化器
dsrializr.Srializ(stram,coupon); //序列化对象到文件中
}
}
现在尝试反序列化,看看与之前Coupon对象的值是否一致。
staticvoidMain(string[]args)
{
conststringfilNam=
"dmo1.txt";//varcoupon=nwCoupon(,0.2f,1,"反骨仔");
//判断该文件是否存在
if(!Fil.Exists(filNam))
{
rturn;
}
using(varstram=Fil.OpnRad(filNam))
{
vardsrializr=nwBinaryFormattr();//二进制序列化器
varcoupon=dsrializr.Dsrializ(stram)asCoupon;//反序列化
if(coupon==null)
{
rturn;
}
Consol.WritLin($"{namof(Coupon)}:");
Consol.WritLin($"{namof(coupon.Amount)}:{coupon.Amount}");
Consol.WritLin($"{namof(coupon.IntrstRat)}:{coupon.IntrstRat}%");
Consol.WritLin($"{namof(coupon.Trm)}:{coupon.Trm}");
Consol.WritLin($"{namof(coupon.Nam)}:{coupon.Nam}");
}
Consol.Rad();
}
2.2使用SOAP格式保存对象staticvoidMain(string[]args)
{
conststringfilNam=
"dmo1.txt";varcoupon=nwCoupon(,0.2f,1,"反骨仔");
using(varstram=Fil.Crat(filNam))
{
vardsrializr=nwSoapFormattr();//Soap格式化器
dsrializr.Srializ(stram,coupon);//序列化
}
}
反序列化时也采用SoapFormattr即可
vardsrializr=nwSoapFormattr();//Soap格式化器
varcoupon=dsrializr.Dsrializ(stram)asCoupon;//反序列化
本示例将数据存储到二进制或SOAP格式的文件中。不应将这些格式用于敏感数据,如密码或信用卡信息。
二进制格式对于大多数Windows应用程序均适用。但对于Wb应用程序或Wb服务,您可能希望使用SOAP格式将对象保存到XML文件中,以使对象易于共享。
同样,也可以通过XmlSrializr将对象序列化保存在XML文件。我们可以根据需求选择合适的序列化器,操作基本是一样的。